是否有人知道是否有一個地圖結構或庫,當組合兩個地圖時,可輕鬆支持添加地圖的值。覆蓋java地圖,添加所有鍵
HashMap<String, Integer> score1 = new HashMap<>();
HashMap<String, Integer> addition = new HashMap<>();
score1.put("Chicaco", 2);
score1.put("New york", 1);
addition.put("New york", 1);
addition.put("Los Angeles", 1);
是否有某種方式來score1與另外結合起來,這樣的結果是
「芝加哥」 的地圖 - > 2,
「紐約」 - > 2,
「洛杉磯」 - > 1?
我知道我可以在Map上迭代使用流和新的(Java 8)compute(),但是有沒有其他不需要手動迭代的方法?
我想一定是有比處理自己的迭代,如更好的辦法:
addition.forEach((k1, v1) -> score1.compute(k1, (k2, v2) -> v2==null?v1:v1+v2));
score1.forEach((k,v)-> System.out.println(k+":"+v));
Sashi最接近,但幾乎每個人都failes看到,紐約必須更新值的紐約在每個地圖的總和。即 - > 2 – Billybong