小编use*_*643的帖子

如何在单个流中对对象列表进行分组,计数和求和并存储在另一个对象列表中?

我试图使用java流和集合从对象列表中获取分组,计数和求和。我不确定如何达到期望的结果。

输入模型

String month;
BigDecimal salary;
String department;
String noOfEmp;
Run Code Online (Sandbox Code Playgroud)

InputModel [(May,100,IT,10),(June,300,IT,7),(July,300,IT,7),(May,1000,HR,5),(June,300,HR,7 ),(7月600,HR,5)]

输出模型

String month
BigDecimal salary
String noOfEmp
Run Code Online (Sandbox Code Playgroud)

预期输出 OutputModel [(May,1100,15),(June,600,14),(July,900,12)]

我尝试了下面的代码,但它返回了group by和Count。

Map<String, Integer> result= inputModels.parallelStream().collect(Collectors.groupingBy(InputModel::getMonth,
            LinkedHashMap::new, Collectors.summingInt(InputModel::getNoOfEmp)));
Run Code Online (Sandbox Code Playgroud)

提前致谢!!!

java collections java-8 java-stream

5
推荐指数
1
解决办法
84
查看次数

标签 统计

collections ×1

java ×1

java-8 ×1

java-stream ×1