stream流分组求和(stream groupings流分组策)

http://www.itjxue.com  2023-01-28 21:37  来源:未知  点击次数: 

JDK8对List进行分组操作(stream的groupby)

对List进行分组,也可以理解为将List转换为Map集合。

group by生成一个拥有分组功能的Collector,有三个重载方法。

2.1 可以对结果进行映射

2.2 可以对结果进行求和

2.3 对结果的统计

如果kv是唯一对应的,可以使用Collectors.toMap来实现。

推荐阅读:JDK8中List转换为Map

JDK1.8新特性——Collector接口和Collectors工具类

class person{ int pv; BigDecimal payMoney; BigDecimal debtMoney; } 用java stream分组求和

创建一个class对象person,存放pv,paymoney,debtMoney这三个属性

再次创建map集合sum,用于存放统计结果

创建对象流ObjectStream,每次读取一个person对象,读取后进行累加操作。

得到求和后的map

Stream的各类型求和

打印结果:

IntSummaryStatistics{count=3, sum=12, min=2, average=4.000000, max=7}

统计集合元素的个数:3

集合元素累加之和:12

集合中最小值:7

集合中最大值:2

集合中平均值:4.0

(责任编辑:IT教学网)

更多

相关思科认证文章

推荐思科认证文章