我List的MapS作为
[{"a"="10","b"="20"},{"a"="12","b"="22"},{"a"="14","b"="24"}]
Run Code Online (Sandbox Code Playgroud)
我想Map作为
{"a"=["10","12","14"],"b"=["20","22","24"]}
Run Code Online (Sandbox Code Playgroud)
您无需实例化其他数据结构即可执行此操作。你首先映射Maps到Map.Entry,然后按键分组。
var listOfMaps = List.of(
Map.of("a", 10, "b", 20),
Map.of("a", 12, "b", 22),
Map.of("a", 14, "b", 24)
);
var mapOfLists = listOfMaps.stream()
.map(Map::entrySet)
.flatMap(Set::stream)
.collect(Collectors.groupingBy(
Map.Entry::getKey,
Collectors.mapping(
Map.Entry::getValue,
Collectors.toList()
)
));
System.out.println(mapOfLists);
Run Code Online (Sandbox Code Playgroud)
输出:
{a=[10, 12, 14], b=[20, 22, 24]}
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |