目录
3. 把 Map 对象里的属性复制到 Class 对象实体类里
1. 分组后取每组最大值
先按照某一字段分组,再按照另外字段获取最大的那个
Map<String, Order> orderMap = list.parallelStream().collect(
Collectors.groupingBy(Order::getAppId, // 先根据appId分组
Collectors.collectingAndThen( Collectors.reducing(( a, b) ->
a.getPrice() > b.getPrice() ? a: b), Optional::get)));
// 然后根据price排序取最大price的Order对象
2. 取出相同id的老师,在判断是否存在
Optional<User> teacher = userList.stream().filter(a ->
a.getUserId().equals(user.getTeacherId())).findFirst();
user.setTeacherName(teacher.isPresent() ? teacher.get().getRealname() : null);
3. 把 Map 对象里的属性复制到 Class 对象实体类里
List<Class> classList = list.stream().map(field ->
BeanUtil.mapToBean(field, ClassVO.class,true)).collect(Collectors.toList());
Java8 Stream针对List先分组再求和、最大值、最小值、平均值等_在奋斗的大道的博客-优快云博客_stream分组求平均值