【发布时间】:2021-02-16 09:30:11
【问题描述】:
我想将地图列表转换为列表地图。保证所有的地图都有相同的键。
例如下面的列表
[{key1: val1, key2: val2}, {key1: val3, key2: val4}]
转换成
{key1: [val1, val3], key2: [val2, val4]}
下面的代码使用for循环来实现
List<Map<String, Object>> data = getData();
Map<String, List<Object>> result = new HashMap<>();
for (Map<String, Object> element: data) {
element.forEach((key, val) -> {
if (result.containsKey(key))
result.get(key).add(val);
else
result.put(key, Arrays.asList(val));
});
}
如何使用流实现相同的结果?
【问题讨论】:
标签: java list dictionary java-stream