V哥:Java8Steam流

这篇博客探讨了Java编程中集合框架的使用,包括ArrayList的创建与操作,以及如何利用Stream API进行数据过滤和处理。示例展示了如何找出以特定字符开头的字符串以及长度大于指定值的字符串。此外,还介绍了Stream API的forEach、filter、map、count、limit、skip等方法的实际应用,以及如何通过Stream.concat合并多个流。文章进一步讨论了如何利用max方法找到流中的最大值。这些内容对于提升Java程序员的效率和代码质量具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.steamStudy;

import java.util.ArrayList;
import java.util.List;

public class ProblemTest {
    public static void main(String[] args) {
        List<String> persons = new ArrayList();
        persons.add("aaa");
        persons.add("bb");
        persons.add("sad");
        persons.add("fdds");
        persons.add("er");
        persons.add("asa");
        persons.add("bg");
        System.out.println(persons);
        System.out.println("===============");
        List<String> aPersons = new ArrayList<>();
        for (String person : persons) {
            if (person.startsWith("a")){
                aPersons.add(person);
            }
        }
        System.out.println(aPersons);

        System.out.println("===============");
        List<String> threePersons = new ArrayList<>();
        for (String person : persons) {
            if (person.length() >= 3){
                threePersons.add(person);
            }
        }
        System.out.println(threePersons);
    }
}

 

package com.steamStudy;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;

public class SimpleUserTest {
    public static void main(String[] args) {
        List<String> persons = new ArrayList();
        persons.add("aaa");
        persons.add("bb");
        persons.add("sad");
        persons.add("fdds");
        persons.add("er");
        persons.add("asa");
        persons.add("bg");
        System.out.println(persons);

        //steam流取用
        persons.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.startsWith("a");
            }
        }).forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

    }
}

package com.steamStudy;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;

public class SimpleUserTest {
    public static void main(String[] args) {
        List<String> persons = new ArrayList();
        persons.add("aaa");
        persons.add("bb");
        persons.add("sad");
        persons.add("fdds");
        persons.add("er");
        persons.add("asa");
        persons.add("bg");
        System.out.println(persons);

        //steam流取用打印a开头
        persons.stream().filter(s -> s.startsWith("a")).forEach(System.out::println);
        
        //打印所有a开头而且长度大于三的元素
        persons.stream().filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.startsWith("a") && s.length()>=3;
            }
        }).forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

    }
}

//打印所有a开头而且长度大于三的元素
        persons.stream().filter(s -> s.startsWith("a") && s.length()>=3).forEach(System.out::println);

 

 

 

 

package com.steamStudy;

import java.util.function.Consumer;
import java.util.stream.Stream;

public class ForEachTest {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1,2,3,4,5,6,7,8,9,10);
        stream.forEach(new Consumer<Integer>() {
            @Override
            public void accept(Integer integer) {
                System.out.println(integer);
            }
        });
    }


}

package com.steamStudy;

import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Stream;

public class ForEachTest {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1,2,3,4,5,6,7,8,9,10);
//        stream.forEach(new Consumer<Integer>() {
//            @Override
//            public void accept(Integer integer) {
//                System.out.println(integer);
//            }
//        });
        stream.filter(new Predicate<Integer>() {
            @Override
            public boolean test(Integer integer) {
                return integer%2==0;
            }
        }).forEach(new Consumer<Integer>() {
            @Override
            public void accept(Integer integer) {
                System.out.println(integer);
            }
        });
    }


}

 

package com.steamStudy;

import java.util.function.Function;
import java.util.stream.Stream;

public class MapTest {
    public static void main(String[] args) {
        //map映射,将a里面的对象通过运算方式映射到下一个里面去
        Stream.of(1,2,3,4,5,6,7,8,9,10).map(integer -> integer*integer).forEach(System.out::println);
        
    }
}

package com.steamStudy;

import java.util.stream.Stream;

public class CountTest {
    public static void main(String[] args) {
        //count计数
        Long count = Stream.of(1,2,3,4,5,6,7,8,9,10).count();
        System.out.println(count);
        Long count1 = Stream.of(1,2,3,4,5,6,7,8,9,10).filter(integer -> integer%2==0).count();
        System.out.println(count1);
    }
}

package com.steamStudy;

import java.util.stream.Stream;

public class LimitTest {
    public static void main(String[] args) {
        //map映射,将a里面的对象通过运算方式映射到下一个里面去
        Stream.of(1,2,3,4,5,6,7,8,9,10).limit(4).forEach(System.out::println);
        
    }
}

package com.steamStudy;

import java.util.stream.Stream;

public class SkipTest {
    public static void main(String[] args) {
        //map映射,将a里面的对象通过运算方式映射到下一个里面去
        Stream.of(1,2,3,4,5,6,7,8,9,10).skip(4).forEach(System.out::println);
        
    }
}

package com.steamStudy;

import java.util.stream.Stream;

public class ConcatTest {
    public static void main(String[] args) {
        Stream<String> person1 = Stream.of("aaa","dsa","adad","dadd","dsd");
        Stream<String> person2 = Stream.of("dsad","gbb","ccx","zzx","bfrr");
        //concat合并
        Stream<String> allStream = Stream.concat(person1,person2);
        allStream.forEach(System.out::println);



    }
}

package com.steamStudy;

import java.util.Comparator;
import java.util.stream.Stream;

public class MaxTest {
    public static void main(String[] args) {
        Stream<Integer> nums = Stream.of(1,23,4,55,42,23,56,78,92,11);
         int max = nums.max((o1, o2) -> o1-o2).get();
        System.out.println(max);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值