作者:勇_俊 | 来源:互联网 | 2022-10-26 11:20
我有2个HashMaps类型HashMap
。我想将它们加在一起,使得重复键的值被加在一起,而不是被覆盖。这就是为什么我不能putAll
对HashMaps 使用该方法的主要原因。有什么特别的方法可以让我轻松地做到这一点吗?
1> Murat Karagö..:
您可以使用Map#merge
例如
Map map1 = new HashMap<>();
Map map2 = new HashMap<>();
map1.put("a", 1);
map2.put("a", 2);
Map map3 = new HashMap<>(map1);
map2.forEach((key, value) -> map3.merge(key, value, (v1,v2) -> v1+v2));
System.out.println(map3); // a=3