java用steam怎么list转map(value为List)
时间: 2024-10-20 16:03:08 浏览: 14
java 数组转list list转数组 list数组互转
5星 · 资源好评率100%
在Java中,如果你有一个List作为Map的值,通常意味着每个元素都是一个包含键值对的对象,而这个对象的某个属性对应于整个列表。你可以使用Java 8的Stream API来进行转换。假设你有如下的类结构:
```java
class Data {
private String key;
private List<String> valueList;
// 构造方法、getter和setter...
}
```
然后你可以这样做:
```java
List<Data> dataList = ...; // 假设这是你的数据列表
Map<String, List<String>> map = dataList.stream()
.collect(Collectors.toMap(Data::getKey, Data::getValueList));
```
这里,`Data::getKey`是一个方法引用,表示获取每个`Data`对象的`key`;`Data::getValueList`也是方法引用,表示获取对应的`valueList`。`collect(toMap())`会将流转换成一个Map,其中`key`为对象的`key`属性,`value`为对象的`valueList`属性。
阅读全文