Java:如何将具有相同Key的两个哈希映射合并,保存第一个哈希映射的值



我有两个HashMaps<String><Integer>:

hm1 ={Value1=1,Value2=2,Value3=,3}
hm2 = {Value3=23,Value1=2,Value2=12}

输出:

hm3 = {Value1=2,Value2=12,Value3=23}

提前感谢!

看看下面的代码是否解决了您的问题。您可以使用Java 8的合并功能。

//map 1
HashMap<String, Integer> map1 = new LinkedHashMap<>();
map1.put("Value1", 1);
map1.put("Value2", 2);
map1.put("Value3", 3);
//map 2
HashMap<String, Integer> map2 = new LinkedHashMap<>();
map2.put("Value1", 2);
map2.put("Value2", 12);
map2.put("Value3", 23);
HashMap<String, Integer> map3 = new LinkedHashMap<>(map1);
//Merge maps
map2.forEach((key, value) -> map3.merge(key, value, (v1, v2) -> v2)
);
System.out.println(map3);

请检查https://www.baeldung.com/java-merge-maps

Map<String, String> m1 = new HashMap<>();
m1.put("a", "1");
m1.put("c", "3");
Map<String, String> m2 = new HashMap<>();
m1.put("b", "2");
m1.put("d", "4");
Map<String,String> m3 = new TreeMap<>();
m3.putAll(m1);
m3.putAll(m2);
System.out.println(m3);

最新更新