Java8 stream用法-备忘录

1. 如何使用匹配模式

       List<String> strs = Arrays.asList("a", "a", "a", "a", "b");
        boolean aa = strs.stream().anyMatch(str -> str.equals("a"));//只要有一个满足返回true
        boolean bb = strs.stream().allMatch(str -> str.equals("a"));//所有都要满足返回true
        boolean cc = strs.stream().noneMatch(str -> str.equals("a"));//所有都不满足返回true
        long count = strs.stream().filter(str -> str.equals("a")).count();//过滤满足'a'的个数
        System.out.println(aa);// TRUE
        System.out.println(bb);// FALSE
        System.out.println(cc);// FALSE
        System.out.println(count);// 4

2. 根据条件过滤返回List

List<Integer> list1 = new arrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
list1.add(6);

List<Integer> filterList1 = list1.stream().filter(s->s>=1 && s<=3).collect(Collectors.toList());

3. 去重LIst数据并返回新List

List<Integer> list = new ArrayList<>();
list.add(10);
list.add(10);
list.add(20);

List<Integer> filterList = list.stream().distinct().collect(Collectors.toList());

暂时先记录这些,后续慢慢添加。

原文地址:https://www.cnblogs.com/jimmyshan-study/p/10952324.html