2017-06-22 84 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

相关问题