Java8新特性——Stream的常用方法:filter,map,sorted

1.概念
Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的的查找、过滤和映射等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。

2.主要方法
①filter : 过滤流中的某些元素

public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(1);
        list.add(3);
        list.add(5);
        list.add(4);

        List<Integer> newList = list.stream().filter((n) -> {  //筛选出大于等于4的元素
            return n >= 4;
        }).collect(Collectors.toList()); //collect(Collectors.toList());的作用:收集 成一个list集合
System.out.println(newList); }

 

 

②map( ):

接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。

public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(1);
        list.add(3);
        list.add(5);
        list.add(4);

        List<Integer> newList = list.stream().filter((n) -> {
            return n >= 4;
        }).map((m)->{if(m==5){  //判断元素的值是否等于5,等于5则返回当前的值,否则返回0
            return m;
        }else {
            return 0;
        }}).collect(Collectors.toList());

        System.out.println(newList);
    }

 

 

③sorted(Comparator com):定制排序,自定义Comparator排序器

public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(1);
        list.add(3);
        list.add(5);
        list.add(4);

        List<Integer> newList = list.stream().sorted((Integer a,Integer b)->{
           return a-b;
        }).collect(Collectors.toList());

        System.out.println(newList);
    }

 

 

前者跟后者比较为升序,后者跟前者比较为降序  

  

  

 

posted @ 2022-07-16 22:26  Mr_sven  阅读(641)  评论(0编辑  收藏  举报