java8 分组取最大值_java stream 实现list分组求和后并取最大值

public static void main(String[] args) {

//java stream 实现list分组求和后并取最大值

List list = new ArrayList<>();

list.add(new HitRuleConfig("1", "1", new BigDecimal(1), 1));

list.add(new HitRuleConfig("1", "1", new BigDecimal(1), 2));

list.add(new HitRuleConfig("2", "2", new BigDecimal(1), 3));

list.add(new HitRuleConfig("2", "2", new BigDecimal(1), 4));

list.add(new HitRuleConfig("1", "1", new BigDecimal(1), 5));

list.add(new HitRuleConfig("3", "3", new BigDecimal(1), 6));

list.add(new HitRuleConfig("3", "3", new BigDecimal(1), 7));

Map configMap = list.parallelStream().filter(Objects::nonNull).

collect(Collectors.groupingBy(a -> a.getAppId() + a.getTest(),

Collectors.collectingAndThen(Collectors.reducing((c1, c2) -> (c1.getV


版权声明:本文为weixin_35224065原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。