-3

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

例子:

第一张地图:

第二张地图(键,值): foo,1;酒吧,2; 爪哇,3;波乔,4;汤姆,5;杰瑞,6;

数组(字符串): foo,java,pojo;

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

4

3 回答 3

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));
    }

}

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

于 2013-08-08T10:12:20.087 回答
0

怎么样:

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

假设 中的所有键array实际存在于map1.

于 2013-08-08T10:08:26.120 回答
0

这是你的追求吗?

for(int i = 0; i < myArray.length; i++)
{
    if(myMap2.get(myArray[i])!=null)
        myMap1.put(myArray[i], myMap2.get(myArray[i])); 
}
于 2013-08-08T10:08:28.540 回答