java list 转 map 相同KEY .值合并
时间: 2024-09-25 12:04:32 浏览: 15
在Java中,如果你有一个List<Map<String, Object>>,并且你想将其中相同的键关联到一个列表的值(list of values),你可以通过流(Stream) API和Collectors来实现这个功能。下面是一个示例代码片段:
```java
import java.util.*;
import java.util.stream.Collectors;
List<Map<String, Object>> list = ...; // 你的Map列表
// 使用Stream和Collectors.groupingBy来创建一个新的Map,键是相同的,值是对应键的所有值的列表
Map<String, List<Object>> result = list.stream()
.collect(Collectors.groupingBy(map -> map.get("yourKey"), Collectors.mapping(MapperFunction::getValue, Collectors.toList())));
public static class MapperFunction {
public static Object getValue(Map<String, Object> map) {
return map.get("yourValue");
}
}
```
在这个例子中,你需要替换`"yourKey"`和`"yourValue"`为你实际想要合并的键和对应的值。这将会返回一个新的Map,其中每个键都有它在原始列表中所有项对应的值组成的列表。