我是靠谱客的博主 可爱舞蹈,这篇文章主要介绍stream实现多级group,现在分享给大家,希望可以做个参考。

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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部