java如何在没有重复项的情况下组合两个hashmap
我正在尝试合并两个不同的hashmap。但是在这两个映射中,有一些重复的条目,所以我必须在合并后删除这些条目 例如: HashMap 1:java如何在没有重复项的情况下组合两个hashmap,java,hashmap,duplicate-removal,Java,Hashmap,Duplicate Removal,我正在尝试合并两个不同的hashmap。但是在这两个映射中,有一些重复的条目,所以我必须在合并后删除这些条目 例如: HashMap 1: 100你好 101不错 HashMap 2: 100你好 102好 合并后,hashmap应如下所示: 100你好 101不错 102好 我尝试了putall,但似乎无法删除重复条目。 有人能帮我一个快速的方法吗 哈希映射的键不能重复,因为它们在集合中表示,所以合并两个映射应该可以完成工作。我认为您的方法没有问题 HashMap<String, Obj
100你好
101不错 HashMap 2: 100你好
102好 合并后,hashmap应如下所示: 100你好
101不错
102好 我尝试了
putall
,但似乎无法删除重复条目。
有人能帮我一个快速的方法吗 哈希映射的键不能重复,因为它们在
集合中表示,所以合并两个映射应该可以完成工作。我认为您的方法没有问题
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);
尝试检查您对HashMaps的处理是否正确。您可以将两个hashmap map1和map2添加到第三个hashmap map3,只需将值的输入类型声明为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);
HashMap map1=newhashmap();
HashMap map2=新的HashMap();
HashMap-map3;
map3=新的HashMap();
map3.putAll(map1);
map3.putAll(map2);
您可以发布用于执行此操作的代码吗?只是为了说明putAll
不是问题所在:HashMap不允许重复,但它使用equals方法来确定这一点。只能得出结论,您的键不是整数,而是其他一些您没有正确实现equals的对象。您必须向我们展示这一点,以获得最终答案。对,OP用于密钥的类似乎不符合这一点。他们需要发布他们的代码。也可以看到,但它允许OP重新检查他的方法。请注意,我没有转发任何人的代码。
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);