JAVA中常用的10个Lambda表达式

1、集合遍历

    List stringList = Arrays.asList("apppe","organge","banana");
    // 原来的方式
    for (String s : stringList) {
          System.out.println(s);
      }
    // lambda 表达式
    stringList.forEach(s->{
       System.out.println(s);
    });

2、排序

        List stringList = Arrays.asList("apple","organge","banana");
        // 原来的方式
        Collections.sort(stringList, new Comparator() {
            @Override
            public  int compare(String o1,String o2){
                return o1.compareTo(o2);
            }
        });
        // lambda表达式
        Collections.sort(stringList,(o1,o2)->{
            return o1.compareTo(o2);
        });

3、过滤

         List stringList = Arrays.asList("apple","organge","banana");
        // 获取集合中所有以“a”开头的字符串
        // 原来的方式
        List newList = new ArrayList();
        for (String s : stringList) {
            if(s.startsWith("a")){
                newList.add(s);
            }
        }
        // lambda表达式
        List newList2 = stringList.stream().filter(s -> {
            if(s.startsWith("a")){
                return  true;
            }
            return false;
        }).collect(Collectors.toList());

4、映射

         List stringList = Arrays.asList("apple","organge","banana");
        // 获取集合中所有字符串的长度
        // 原来的方式
        List newList = new ArrayList();
        for (String s : stringList) {
            newList.add(s.length());
        }
        // lambda表达式
        List newList2 = stringList.stream().map(s -> {
            return s.length();
        }).collect(Collectors.toList());

        // lambda 表达式
        newList2.forEach(s->{
            System.out.println(s);
        });

注意:lambda表达式中的map函数把每个元素进行转换操作

5、规约

         List numList = Arrays.asList(1,2,3,4,5);
        // 计算综合
        // 原来的方式
       Integer sum = 0;
        for (Integer s : numList) {
            sum += s;
        }
        // lambda表达式
        sum = numList.stream().reduce(0,(a,b)->{
            return  a+b;
        });

6、分组

7、函数式接口的

8、线程创建

9、Optional的操作

10、Stream流水操作

你可能感兴趣的:(java基础,java,windows,开发语言)