stream中groupBy后进行其他处理
时间: 2023-08-01 09:07:03 浏览: 90
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
当使用`groupBy`操作符将流中的元素分组后,可以使用其他操作符对每个分组进行处理。
例如,可以使用`flatMap`操作符将每个分组中的元素转换为一个新的流,然后对每个元素进行进一步处理。代码示例如下:
```java
stream.groupBy(item -> item.getKey())
.flatMap(groupedStream -> groupedStream.map(item -> item.getValue())
.filter(value -> value > 0)
.map(value -> value * 2))
.forEach(System.out::println);
```
在上面的示例中,我们首先使用`groupBy`操作符,将流中的元素按照它们的键进行分组。然后,使用`flatMap`操作符将每个分组中的元素转换为一个新的流。在这个新的流中,我们使用`map`操作符将每个元素的值提取出来,并使用`filter`操作符过滤出大于0的元素。最后,使用`map`操作符对每个元素的值进行加倍处理,然后将处理后的元素输出。
可以根据具体的需求使用不同的操作符对每个分组进行处理。
阅读全文