Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java如何在没有重复项的情况下组合两个hashmap_Java_Hashmap_Duplicate Removal - Fatal编程技术网

java如何在没有重复项的情况下组合两个hashmap

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

我正在尝试合并两个不同的hashmap。但是在这两个映射中,有一些重复的条目,所以我必须在合并后删除这些条目

例如:

HashMap 1:
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);