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

The*_*ner 0 java collections

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

Map <String, ArrayList<String>> firmMSAMap = new HashMap<String, ArrayList<String>>() ;
Run Code Online (Sandbox Code Playgroud)

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

jah*_*roy 7

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

firmMSAMap.get("baz").add("foo");
Run Code Online (Sandbox Code Playgroud)

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

  1. 它检索与密钥一起存储的ArrayList baz
  2. 它为ArrayList添加了一个String

注意:这假定Map已经包含ke`baz的值.

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

firmMSAMap.put("baz", new ArrayList<String>());
Run Code Online (Sandbox Code Playgroud)

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

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);
}
Run Code Online (Sandbox Code Playgroud)