streamlist转map中包含list
时间: 2023-11-16 08:59:08 浏览: 90
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
stream中提供了将List转换为Map的方法,可以通过stream的collect方法结合Collectors.toMap方法实现。具体步骤如下:
1. 使用stream方法将List转换为Stream对象。
2. 使用Collectors.toMap方法将Stream对象转换为Map对象,其中第一个参数为key的提取函数,第二个参数为value的提取函数。
3. 如果List中存在重复的key,则需要使用第三个参数来指定如何处理重复的key。
例如,假设我们有一个List<Person>,其中Person对象包含id和name属性,我们可以将其转换为Map<Integer, String>,其中id作为key,name作为value,代码如下:
```
List<Person> personList = new ArrayList<>();
// 添加Person对象到personList中
Map<Integer, String> personMap = personList.stream()
.collect(Collectors.toMap(Person::getId, Person::getName));
```
阅读全文