ndThen(Collectors.
时间: 2024-11-18 18:14:16 浏览: 0
Java中的`java.util.stream.Collectors.toMap()`方法有什么作用
`Collectors.thenCollecting()` 是 Java Stream API 中的一个方法,用于组合多个收集操作(collectors)。它允许你在一系列的收集步骤之后添加额外的操作,比如转换、过滤或者排序。这个方法通常与 `stream().collect()` 结合使用,将多个收集阶段串联起来,提供了一种灵活的方式来构建复杂的数据处理管道。
例如:
```java
List<String> names = ...;
List<Integer> lengths = names.stream()
.map(String::length) // 使用 Collectors.map() 转换每个元素为长度
.thenCollecting(Collectors.toList()); // 将流转换为列表
// 或者,如果有多个收集阶段
Map<String, Integer> countsByLength = names.stream()
.collect(Collectors.groupingBy(String::length))
.thenCollecting(Collectors.toMap(
Map.Entry::getKey, // 第一个函数用于提取键
Map.Entry::getValue, // 第二个函数用于提取值并计数
(oldValue, newValue) -> oldValue + newValue // 函数合并重复的计数值
));
```
阅读全文