假设我有两个 HashMap :
- {狗=1、猫=1、运动=3、高尔夫=4}
- {狗=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/