我正在尝试组合两个不同的哈希映射。但是在这两个地图中,有一些重复的条目,所以我必须在合并后删除thoese条目。
例如:
HashMap 1:
100你好
101很好
HashMap 2:
100你好 102好
合并后,hashmap应如下所示:
100你好
101好的
102好
我尝试了putall
,但似乎没有删除重复的条目。
有人可以帮助我快速做到这一点吗?
答案 0 :(得分:1)
HashMap
的密钥不能重复,因为它们以Set
表示,因此合并两张地图应该可以完成工作。
答案 1 :(得分:1)
我认为你的方法没有问题。
HashMap<String, Object> first = new HashMap<String, Object>();
HashMap<String, Object> second = new HashMap<String, Object>();
first.put("100", "hello");
first.put("101", "nice");
second.put("100", "hello");
second.put("102", "good");
first.putAll(second);
System.out.println(first);
输出
{102=good, 101=nice, 100=hello}
如果您对HashMaps的处理是正确的,请尝试检查。
答案 2 :(得分:0)
你可以将两个hashmap map1和map2添加到第三个hashmap map3,只需将value的输入类型声明为Object,因为所有数据类型的超类都是Object类。
HashMap<String, Integer> map1 = new HashMap<String, Integer>();
HashMap<String, String> map2 = new HashMap<String, String>();
HashMap<String, Object> map3;
map3 = new HashMap<>();
map3.putAll(map1);
map3.putAll(map2);