У меня есть три HashMap<String, Integer>
, где некоторые ключи могут присутствовать в двух / трех картах.
Я ищу новый HashMap
, который объединит все три в новый, где значение части будет простым суммированием всех значений (где ключ один и тот же).
Я сделал это с помощью метода merge()
,
Map<String, Integer> combine = new HashMap<>(map1);
map2.forEach((k, v) -> combine.merge(k, v, Integer::sum));
map3.forEach((k, v) -> combine.merge(k, v, Integer::sum));
Интересно, Как я могу это сделать используя классы Stream и / или Collection?