stream.collect()添加到hashmap
时间: 2023-09-26 15:10:00 浏览: 252
要将流(Stream)的元素收集到HashMap中,您使用`Collectors.toMap()`方法。这个方法允许您指定键和值的提取函数,并将结果收集到一个HashMap中。下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Stream<String> stream = Stream.of("apple", "banana", "cherry");
Map<String, Integer> hashMap = stream.collect(Collectors.toMap(
// 提取键的函数
fruit -> fruit,
// 提取值的函数
fruit -> fruit.length(),
// 处理键冲突的方法(如果有重复的键)
(existingValue, newValue) -> existingValue,
// 选择Map实现类
HashMap::new
));
System.out.println(hashMap);
}
}
```
在这个示例中,我们将流(Stream)中的水果字符串作为键,字符串长度作为值,并将它们收集到一个HashMap中。输出结果将会是`{apple=5, banana=6, cherry=6}`。
请注意,`Collectors.toMap()`方法的最后一个参数指定了要使用的Map实现类(在这个例子中是HashMap),您可以根据需要选择不同的实现类。
阅读全文