如何根据数组放入地图?

时间:2013-08-08 10:02:12

标签: java arrays collections map

我有2张地图和1个数组。第一张地图是空的,第二张是满满的数据。 Array包含一些String键。因此,如果数组中有一些等于键,我想将数据从第二个映射放到第一个映射。

示例:

第一张地图:

第二张地图(键,值): foo,1;巴,2; Java,第3; POJO,4;汤姆,5;杰里,6;

array(string): foo,java,pojo;

所以我需要在第一张地图中加上(foo,1; java,3; pojo,4;)

3 个答案:

答案 0 :(得分:0)

怎么样:

for(String key : array) { 
    map2.put(key,map1.get(key);
}

假设array中的所有密钥实际存在于map1

答案 1 :(得分:0)

这是你的事吗?

for(int i = 0; i < myArray.length; i++)
{
    if(myMap2.get(myArray[i])!=null)
        myMap1.put(myArray[i], myMap2.get(myArray[i])); 
}

答案 2 :(得分:0)

public static void main(String[] args) throws IOException {
    HashMap<String, Integer> map1= new HashMap<String, Integer>();
    HashMap<String, Integer> map2= new HashMap<String, Integer>();
    map2.put("foo", 1);
    map2.put("bar", 2);
    map2.put("java", 3);
    map2.put("pojo", 4);
    map2.put("tom", 5);
    map2.put("jerry", 6);

    String[] arr={"foo","java","pojo"};

    for (String arrItem : arr)
    {
        map1.put(arrItem, map2.get(arrItem));
        System.out.println(arrItem);
        System.out.println(map2.get(arrItem));
    }

}

如果这解决了您的问题,请投票/接受答案