我有 2 张地图和 1 个数组。第一张地图是空的,第二张地图是满的。数组包含一些字符串键。因此,如果数组中有一些等于键,我想将第二个映射中的数据放到第一个映射中。
例子:
第一张地图:空
第二张地图(键,值): foo,1;酒吧,2; 爪哇,3;波乔,4;汤姆,5;杰瑞,6;
数组(字符串): foo,java,pojo;
所以我需要把(foo,1;java,3;pojo,4;)放在第一张地图中。
我有 2 张地图和 1 个数组。第一张地图是空的,第二张地图是满的。数组包含一些字符串键。因此,如果数组中有一些等于键,我想将第二个映射中的数据放到第一个映射中。
例子:
第一张地图:空
第二张地图(键,值): foo,1;酒吧,2; 爪哇,3;波乔,4;汤姆,5;杰瑞,6;
数组(字符串): foo,java,pojo;
所以我需要把(foo,1;java,3;pojo,4;)放在第一张地图中。
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));
}
}
如果这解决了您的疑问,请投票/接受答案
怎么样:
for(String key : array) {
map2.put(key,map1.get(key);
}
假设 中的所有键array
实际存在于map1
.
这是你的追求吗?
for(int i = 0; i < myArray.length; i++)
{
if(myMap2.get(myArray[i])!=null)
myMap1.put(myArray[i], myMap2.get(myArray[i]));
}