2017-06-22 86 views
0

我需要在不支持泛型的java 1.4中工作。這是我在Java 8將元素添加到java 1.4中的haspmap裏面的arraylist

LinkedHashMap<String, ArrayList<String>> m = new LinkedHashMap<>(); 
ArrayList<String> vals = new ArrayList<String>(); 
m.put("a", vals); 
m.get("a").add(var_name); 

寫讀書JDK 1.4文檔後的代碼,我設法寫下面的代碼,但我怎麼添加地圖裏面ArrayList的元素?我不想先將值添加到ArrayList,然後將ArrayList添加到映射。

LinkedHashMap m = new LinkedHashMap(); 
ArrayList vals = new ArrayList(); 
m.put("a", vals); 

回答

2

你必須事先施放

((ArrayList)m.get("a")).add(var_name); 

當然,如果以後要使用該值,你必須強制轉換爲好。

+0

它的工作,但找不到任何關於這個其他地方的信息,你甚至可以做到這一點。非常感謝。 – XZ6H

-2

如果您使用的是更高版本的Java

m.put("a", new ArrayList<String>(Arrays.asList("one"))); 
m.get("a").add("two"); 

http://ideone.com/IGnHF4

+2

op指的是Java 1.4的要求。 Java 1.4中不存在泛型。 – davidxxx

+0

@davidxxx更新了ans –

+0

我沒有downvote,但'new ArrayList '仍然不能編譯。 – davidxxx

相關問題