【问题标题】:How to put in map according to array? [closed]如何根据数组放入地图? [关闭]
【发布时间】:2013-08-09 23:52:56
【问题描述】:

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

示例:

第一张地图:

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

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

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

【问题讨论】:

  • 你有没有尝试过?向我们展示一些代码,并告诉我们什么不起作用?
  • 问题在哪里?

标签: java arrays collections map


【解决方案1】:
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));
    }

}

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

【讨论】:

    【解决方案2】:

    这是你的追求吗?

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

    【讨论】:

      【解决方案3】:

      怎么样:

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

      假设array中的所有键实际上都存在于map1中。

      【讨论】:

        猜你喜欢
        • 2012-11-28
        • 1970-01-01
        • 2011-07-13
        • 1970-01-01
        • 1970-01-01
        • 2013-11-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-27
        相关资源
        最近更新 更多