stream 分组求和
时间: 2023-07-20 07:04:00 浏览: 54
java8 stream自定义分组求和并排序的实现
在流式处理中,可以使用 groupBy() 方法将数据按照某个属性进行分类,然后使用 reduce() 方法对每个分组进行求和。以下是一个Java 8的示例代码:
```java
Map<String, Integer> sumByGroup = list.stream()
.collect(Collectors.groupingBy(Item::getGroup,
Collectors.reducing(0, Item::getValue, Integer::sum)));
```
其中,Item 是一个包含 group 和 value 两个属性的类,list 是包含多个 Item 对象的 List 集合。上述代码将 list 中的 Item 对象按照 group 分组,然后对每个分组中的 value 属性进行求和,最终将结果保存在一个 Map 集合中,其中键为 group,值为对应分组的求和结果。
阅读全文