流list转map值是list
时间: 2023-10-31 18:54:20 浏览: 25
可以使用Java中的流(Stream)来将一个List转换为Map,其中List中的元素作为Map的值。下面是一个示例代码:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ListToMapExample {
public static void main(String[] args) {
List<String> list = List.of("apple", "banana", "cherry");
Map<String, String> map = list.stream()
.collect(Collectors.toMap(item -> item, item -> item));
System.out.println(map);
}
}
```
在上面的示例中,我们首先创建了一个包含三个字符串元素的List。然后,我们使用流的`collect`方法将List转换为Map。`Collectors.toMap`方法接受两个函数作为参数,第一个函数将List中的元素作为Map的键,第二个函数将List中的元素作为Map的值。最后,我们打印输出得到的Map。
运行上述代码,将输出以下结果:
```
{apple=apple, banana=banana, cherry=cherry}
```
注意:如果List中存在重复的元素,那么在转换为Map时可能会抛出`java.lang.IllegalStateException`异常。为了解决这个问题,你可以在`Collectors.toMap`方法中传递一个合适的合并函数来处理重复的键。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)