java stream 处理分组后取每组最大
有一个需求功能:先按照某一字段分组,再按照另外字段获取最大的那个
Map<String, HitRuleConfig> configMap = configList.parallelStream().collect(
Collectors.groupingBy(HitRuleConfig::getAppId, // 先根据appId分组
Collectors.collectingAndThen(
Collectors.reducing(( c1, c2) -> c1.getVersionSort() > c2.getVersionSort() ? c1 : c2), Optional::get)));
先根据appId分组,然后根据versionSort排序取最大
百流积聚,江河是也;文若化风,可以砾石。