【发布时间】:2020-05-23 02:29:29
【问题描述】:
假设我有一个从Strings到一个从Strings到int的映射,比如
Map<String, Map<String, Integer>> myMap1 = new HashMap<>();
myMap1.put("A", Map.of("X", 1))
myMap1.put("B", Map.of("Y", 1))
Map<String, Map<String, Integer>> myMap2 = new HashMap<>();
myMap2.put("B", Map.of("Y", 3))
我想合并这些映射,以便我们得到一个映射,其中键是内部映射的键,值将是相同键的内部映射值的平均值。 所以上面例子的输出是
{"X" : 1, "Y", 2}
我们可以完全丢弃外部地图的键。
使用 java.util 最好的方法是什么?我认为使用 Collectors.groupBy 方法可能有一些不错的方法,但我对此非常缺乏经验。
【问题讨论】:
-
那么外层map的key就没有用了吗? (
A和B)
标签: java hashmap java-stream flatmap