java stream 转map
时间: 2023-09-23 19:13:35 浏览: 155
要将Java Stream转换为Map,可以使用`Collectors.toMap()`方法。`toMap()`方法接受两个参数:一个用于指定键的函数,另一个用于指定值的函数。以下是示例代码:
```java
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
// 创建一个包含字符串的Stream
Stream<String> stream = Stream.of("apple", "banana", "cat");
// 将Stream转换为Map,键为字符串,值为字符串的长度
// 如果有重复的键,则使用第一个出现的值
Map<String, Integer> map = stream.collect(Collectors.toMap(s -> s, String::length));
// 打印Map
System.out.println(map);
}
}
```
输出结果将是:
```
{apple=5, banana=6, cat=3}
```
在上面的示例中,我们将Stream的每个元素作为键,并使用`String::length`方法计算每个元素的长度作为对应的值。如果Stream中有重复的键,`toMap()`方法将使用第一个出现的值。
阅读全文