我希望将一个映射列表转换为一个列表映射。保证所有的映射都有相同的键。
例如,以下列表
以下代码使用for循环实现
例如,以下列表
[{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));
});
}
我如何使用流(streams)实现相同的结果?