2013-02-25 90 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

相關問題