如何加入两个具有相同键和不同值的HashMaps

时间:2017-12-08 14:17:20

标签: hashmap

我有两个哈希图,我想加入密钥相同且值不同或相同的地图。

HashMap<String, Integer> h1 = new HashMap<String, Integer>();
HashMap<String, Integer> h2 = new HashMap<String, Integer>();
h1.put("A",1);
h1.put("B", 2);
h1.put("C",32);

h2.put("A",321);
h2.put("B", 4562);

我需要合并此地图,使其看起来像{A = [1,321],B = [32,4562],C = [32]} 如果我使用的是Java 7,那么我应该怎么做呢?

1 个答案:

答案 0 :(得分:0)

创建一个HashMap,它将数组作为值。

Map<String, List<Integer>> combined = new HashMap<String, List<Integer>>();

然后为每个地图的键写一个for循环

for(String key: mapA.keys()){
    if(!combined.keys().contains(key))
        combined.put(key, new List<Integer>());
    combined.get(key).put(mapA.get(key))