按两个字段分组,然后对BigDecimal求和

按两个字段分组,然后对BigDecimal求和,第1张

按两个字段分组,然后对BigDecimal求和

主体与链接问题中的主体相同,只需要一个不同的下游收集器来求和:

List<TaxLine> flattened = taxes.stream()    .collect(Collectors.groupingBy(        TaxLine::getTitle,        Collectors.groupingBy( TaxLine::getRate, Collectors.reducing(     BigDecimal.ZERO,     TaxLine::getPrice,     BigDecimal::add))))    .entrySet()    .stream()    .flatMap(e1 -> e1.getValue()         .entrySet()         .stream()         .map(e2 -> new TaxLine(e2.getValue(), e2.getKey(), e1.getKey())))    .collect(Collectors.toList());


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存