java - 合并 Hashmap 保留值 JAVA

标签 java merge hashmap

假设我有两个 HashMap :

  1. {狗=1、猫=1、运动=3、高尔夫=4}
  2. {狗=5、人=1、动物=4}

我想合并它们并保留值,以便这些值在输出中相加

输出:

{狗=6、人=1、动物=4、猫=1、运动=3、高尔夫=4}

注意“dog”的值为 6 (5+1)

使用 Hashmap.putAll(),dog 的值变为 5,有什么想法可以合并这些保留值吗?

非常感谢, 菲利普

最佳答案

Google的开源Guava Library有一个名为 Multiset 的类这完全抽象了对 Map<T,Integer> 的需求用于计算 T 的实例。

您会发现使用Multiset<String>而不是使用 Map<String,Integer>将导致更少的代码,从而减少执行相同操作时出错的可能性。

使用Multiset ,要合并两者,您只需说:

multiset1.addAll(multiset2);

关于java - 合并 Hashmap 保留值 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3584625/

相关文章:

java - Android zip 结构

java - 为什么这会导致错误 - Java 方法中的类

java - 如何用 Jsoup 解析这个 html 表

mysql - 如何显示不同值的计数并包含零?

java - 查找哈希表中有多少个键具有相同的值?

java - 如何在java中动态读取对象属性?

git merge 仅 merge 最后一次提交

Python Pandas 合并键错误

java - HashMap 中的空键和空值

go - 无法使用 if val 从 Golang 中的 map[time.Time]Measure 获取值,ok := mapMeasures[ts]; ok {}