// 获得小于18岁的用户对象
List<User> list = userList.stream().filter(o ->o.getAge()<18).collect(Collectors.toList());
//获得小于18岁的用户名字
List<String> list = userList.stream() .filter(o -> o.getAge()<18)
.map(User::getName).collect(Collectors.toList());
// 获得身份证为key,用户对象为value的map
Map<String,User> userMap = userList.stream().collect(Collectors.toMap(o -> o.getIdNumber(), o -> o));
// 通过名字分组
Map<String,List<User>> map = userList.stream()
.collect(Collectors.groupingBy(o -> o.getName()));
// 去重
insertList = insertList.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList());
// 用户按创建年份分组
Map<Date,List<User>> userList = list.stream().collect(Collectors.groupingBy(o->DateUtil.getCurrYearFirst(o.getCreateDate())));//DateUtil.getCurrYearFirst()返回的是时间的年份
// 计算合计
Double totalSale = saleList.stream().filter(o -> o.getMoney() != null).mapToDouble(a -> a.getMoney()).sum();
这个是网上抄的关于计算
// 获取数字的个数、 最小值、 最大值、 总和以及平均值
List<Integer> list = Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19, 23, 29);
//IntSummaryStatistics:集合概要例如: count, min, max, sum, and average.
IntSummaryStatistics stats = list//
.stream()//获取Stream对象
.mapToInt((x) -> x)//格式转换
.summaryStatistics();//
System.out.println("Max : " + stats.getMax());
System.out.println("Min: " + stats.getMin());
System.out.println("Sun: " + stats.getSum());
System.out.println("Average : " + stats.getAverage());
---------------------
原文:https://blog.csdn.net/qq_15988951/article/details/53914146
遇到在持续更新!