如何轻松地将两个hashMap相加?

如何轻松地将两个hashMap相加?,第1张

如何轻松地将两个hashMap相加

由于Java 8

Map
包含
merge
需要

  • 键,
  • 新价值,
  • 和函数, 如果该值已经包含我们的密钥 ,它将用来决定要在地图中放置什么值(将基于新旧值进行决策)。

因此,您可以简单地使用:

map2.forEach((k, v) -> map1.merge(k, v, Integer::sum));

现在,您

map1
将包含的所有值,
map2
并且如果键相同,则将旧值添加到新值中,并将结果存储在map中。

演示:

Map<String, Integer> m1 = new HashMap<>();m1.put("a", 1);m1.put("b", 2);Map<String, Integer> m2 = new HashMap<>();m2.put("a", 3);m2.put("c", 10);System.out.println(m1);System.out.println(m2);//iterate over second map and merge its elements into map 1 using //same key and sum of valuesm2.forEach((k, v) -> m1.merge(k, v, Integer::sum));System.out.println("===========");System.out.println(m1);

输出:

{a=1, b=2}{a=3, c=10}==========={a=4, b=2, c=10}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5461874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存