概述
0、先来一个简单的,先分组再聚合
Map<String, Double> categoryMap = baseLevelData.stream().collect(Collectors.groupingBy(o -> o.getCategoryL2(), Collectors.summingDouble(o -> o.getBudgetOk2ship())));
1.对象二级 group
Map<String, Map<Integer, List<WoiTargetAlertRuleEntity>>> woiMap = allRuleEntity.stream().collect(Collectors.groupingBy(o -> o.getCountryCode(), Collectors.groupingBy(o -> o.getWoiTarget())));
2. 二级 group,再mapping属性
Map<String, Map<Integer, List<String>>> secondLevelMap = allRuleEntity.stream().collect(Collectors.groupingBy(o -> o.getCountryCode(), Collectors.groupingBy(o -> o.getWoiTarget(), Collectors.mapping(o -> o.getTerritory(), Collectors.toList()))));
3. group,再取每组的第一条数据
Map<String, ScMbgCalendarCmlEntity> quarterMap = calendarHeader.stream().collect(Collectors.groupingBy(ScMbgCalendarCmlEntity::getMfgQtrDesc, Collectors.collectingAndThen(Collectors.toList(), list -> list.get(0))));
最后
以上就是可爱舞蹈为你收集整理的stream实现多级group的全部内容,希望文章能够帮你解决stream实现多级group所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复