2013-02-25 102 views
0

我使用如何将元素添加到地图中的ArrayList?

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

如何添加此地图中的元素到ArrayList的地图创建一个ArrayList?请纠正我,如果我的解冻是错误的。我想有一个包含

+1

具体是什么问题?你有更多的示例代码要发布吗?你有没有读过API?你想达到什么目的? – 2013-02-25 19:21:32

+0

我想创建一个临时ArrayList像'列表 temp = new ArrayList '然后执行'firmMSAMap.put(Key,temp);' – TheRookierLearner 2013-02-25 19:21:52

+0

什么确实阻止你这么做? – Ingo 2013-02-25 19:22:31

回答

7

字符串foo加入由字符串baz键ArrayList中:

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

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

  1. 它检索存储在与键baz
  2. 该ArrayList
  3. 它增加了一个字符串到ArrayList

注:这假定地图已经包含了柯`巴兹的值。

否则,你就必须创建一个新的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); 
} 
+0

为什么选择downvote? – jahroy 2013-02-25 19:14:08

+0

不,值是ArrayList ,而不是String。对不起,没有正确读取 - 这假定ArrayList已经被创建。 – 2013-02-25 19:14:10

+0

@SteveH。 - 其实,是。问题是你如何向ArrayList添加一个字符串。 – jahroy 2013-02-25 19:14:53

0

你应该定义新ArrayList对象的ArrayList一个地图,并把它与主要

1

您需要get那来自地图和add元素的ArrayList像

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

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

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

此映射的字符串键ArrayList的值。所以,如果你想要一个ArrayList的关键“foo”,那么:

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

该OP想知道如何将元素添加到映射中包含的'ArrayList'。 – GriffeyDog 2013-02-25 19:17:33

相关问题