繁体   English   中英

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

[英]Java: How to merge two hashmaps with the same Key saving the values of the first hashmap

我有两个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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM