IntStream转map
时间: 2023-07-17 16:10:13 浏览: 47
您可以使用`collect`方法将`IntStream`转换为`Map`。这里有一个示例代码,假设您有一个`IntStream`对象`intStream`,并且您想要将其转换为一个`Map<Integer, Integer>`,其中键是流中的每个元素,值是该元素的平方。
```java
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
IntStream intStream = IntStream.of(1, 2, 3, 4, 5);
Map<Integer, Integer> map = intStream
.boxed() // 将IntStream转换为Stream<Integer>
.collect(Collectors.toMap(
num -> num, // 键为元素本身
num -> num * num // 值为元素的平方
));
System.out.println(map);
}
}
```
输出:
```
{1=1, 2=4, 3=9, 4=16, 5=25}
```
在这个示例中,我们使用`boxed()`方法将`IntStream`转换为`Stream<Integer>`,然后使用`collect`方法和`Collectors.toMap()`来收集流中的元素。`toMap()`方法接受两个参数:一个函数用于提取键,一个函数用于提取值。在这里,我们将键设置为元素本身,将值设置为元素的平方。最后,我们打印出了转换后的`Map`对象。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)