1.集合过滤
Lists.newArrayList(1,2,3).stream().filter(k -> k >1) ;
2.遍历
Lists.newArrayList(1,2,3).stream().forEach(System.out::println);
3.映射
Lists.newArrayList(1,2,3).stream().map(k -> k + "haha") ;
4.排序
Lists.newArrayList(1,2,3).stream().sorted(Comparator.comparing(Integer::intValue).reversed()) ;
5.reduce
/**
* x = {1,2,3,4,5,6,7}
* y = (x*3 -1)
* 求 y1*y2*.....yn
*
*/
Integer rs = Lists.newArrayList(1, 2, 3).stream()
.reduce(1,//y的初始值
(y, x) -> y *= (x * 3 - 1));//y1*y2*...yn
System.out.println(rs);
6.收集list
Lists.newArrayList(-1, 2, 3).stream().collect(Collectors.toList()) ;
7.收集器Set
Lists.newArrayList(-1, 2, 3).stream().collect(Collectors.toSet()) ;
8.收集器map
//1对多聚合map
Map<String, List<User>> userMap1 = users.stream()
.collect(Collectors.groupingBy(User::getAddress, Collectors.toList()));
//1对1聚合map,最后一个方法指的是重复值处理策略
Map<String, User> userMap2 = users.stream()
.collect(Collectors.toMap(u -> u.getAddress(), u -> u, (u1, u2) -> u2));
9.字符串拼接
//字符串stream,拼接字符串
String str = new ArrayList<String>().stream().collect(Collectors.joining("-"));
10.并行处理
strings.stream().parallel().forEach(System.out::println);