2013-01-04 98 views
0

的價值觀我有一個地圖,但我想在地圖的值是ArrayList類型存儲列表

Map m = new HashMap(); 

以來的主要「A」的價值本身就具有多個值如。關鍵的「A」具有值10,20,30請告知如何做到這一點,我已經創建了下面

LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>(); 

請指教如何在列表中添加多個值下一併伴隨着存儲的第一步地圖中放置操作

+2

你目前的解決方案有什麼問題? – clamp

回答

0

如果我理解正確的問題,那麼這似乎是我正確的方式,那麼所有你需要做的是兩種:

List<String> strings = new ArrayList<String>(); 
strings.add("10"); 
strings.add("20"); 
strings.add("30"); 

A.put(strings); 

或者你可以:

A.put(Arrays.asList("10", "20", "30")); 
0

這樣的 -

LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>(); 
List<String> list = new ArrayList<String>(); 
list.add("10"); 
list.add("20"); 
list.add("30"); 
A.put("a", list); 
0

像:

List<String> list = new ArrayList<>(); 
list.add("abc"); 
list.add("xyz"); 
// .... 

Map<String,List<String>> map = new HashMap<>(); 
map.put("Key", list); 
0

,因爲我知道,你可以使用Apache MultiValueMap。它符合你的要求.http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/MultiValueMap.html

0

這是一個程序。

import java.util.ArrayList; 
import java.util.LinkedHashMap; 
import java.util.List; 


public class Test { 

    public static void main(String[] args) { 
     LinkedHashMap<String,List<String>> A = new LinkedHashMap<String,List<String>>(); 
     List<String> list = new ArrayList<>(); 
     list.add("1"); 
     A.put("1", list); 

     //add new values 
     list = A.get("1"); 
     if(list!=null){ 
      list.add("2"); 
     }else{ 
      list = new ArrayList<String>(); 
      list.add("2"); 
     } 
     A.put("1", list); 

    } 

}