【发布时间】:2015-07-31 17:06:33
【问题描述】:
我正在尝试使用List<Map<String, Integer>> 流将包含的所有地图合并为一个。这是将多个请求响应聚合为一个。
考虑这个数据集(使用 JSON 使其更易于阅读):
[
{"field1": 1, "field2": 5},
{"field2": 6, "field3": 10},
{"field1": 3, "field4": 15}
]
我希望它产生以下结果(顺序不重要):
{"field1": 4, "field2": 11, "field3": 10, "field4": 15}
我想对所有键求和并将它们组合成一个映射。 Java 8 中的 Stream 接口有没有很好的方法?
我发现了Collectors.groupingBy(o -> o, Collectors.counting()),所以也许我在正确的路线上,我只需要在不搞砸结果的情况下提前弄清楚如何实际合并它们。
提前致谢。
【问题讨论】:
标签: java java-8 java-stream