0

我使用在地图中创建一个 ArrayList

Map <String, ArrayList<String>> firmMSAMap = new HashMap<String, ArrayList<String>>() ;

如何将元素添加到此地图中的 ArrayList?如果我的声明有误,请纠正我。我正在尝试拥有一个包含 ArrayList 的 Map

4

4 回答 4

7

将 String 添加foo到由 String 键入的 ArrayList 中baz

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

上面的代码执行以下操作:

  1. 它检索与键一起存储的 ArrayListbaz
  2. 它将一个字符串添加到 ArrayList

注意:这假定 Map 已经包含 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);
}
于 2013-02-25T19:12:49.637 回答
1

你需要从地图和元素到它get的 ArrayListadd

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

但是当然要能够做到这一点,您的地图首先需要包含“您的列表键”->ArrayList 对,所以您需要先put在那里

firmMSAMap.put("your List key", new ArrayList<String>());
于 2013-02-25T19:13:12.097 回答
0

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

于 2013-02-25T19:12:20.230 回答
-1

这会将 String 键映射到 ArrayList 值。所以如果你想在键“foo”处有一个 ArrayList,那么:

firmMSAMap.put("foo", new ArrayList<String>());
于 2013-02-25T19:13:16.823 回答