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);
}

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

浙公网安备 33010602011771号