如何在地图中向ArrayList添加元素?

时间:2013-02-25 19:11:27

标签: java collections

我使用

在地图中创建一个ArrayList
Map <String, ArrayList<String>> firmMSAMap = new HashMap<String, ArrayList<String>>() ;

如何在此地图中向ArrayList添加元素?如果我的退出错误,请纠正我。我想要一个包含ArrayList

的Map

4 个答案:

答案 0 :(得分:7)

将字符串foo添加到由字符串baz键控的ArrayList中:

firmMSAMap.get("baz").add("foo");

以上代码执行以下操作:

  1. 它检索使用密钥baz
  2. 存储的ArrayList
  3. 它将一个String添加到ArrayList
  4. 注意:这假设地图已包含ke`baz的值。

    否则你必须像这样创建一个新的ArrayList:

    firmMSAMap.put("baz", new ArrayList<String>());
    

    这是一个更好的示例,它检查是否首先映射值:

    Map<String, List<String>> theMap = ...
    
    if (theMap.containsKey("baz")) {
        theMap.get("baz").add("foo");
    }
    else {
        List<String> tempList = new ArrayList<String>();
        tempList.add("foo");
        theMap.put("baz", tempList);
    }
    

答案 1 :(得分:1)

你需要get来自地图的ArrayList和add元素就像

firmMSAMap.get("your List key").add("new element of list");

但是当然为了能够做到这一点你的地图需要首先包含“你的List键” - &gt; ArrayList对,所以你需要put之前那里

firmMSAMap.put("your List key", new ArrayList<String>());

答案 2 :(得分:0)

您应该定义新的ArrayList对象并将其与键

放在一起

答案 3 :(得分:-1)

这会将String键映射到ArrayList值。因此,如果你想要一个关键字“foo”的ArrayList,那么:

firmMSAMap.put("foo", new ArrayList<String>());