2017-06-22 1 views
0

Je dois travailler dans Java 1.4 qui ne supporte pas les génériques. Voici le code que j'ai écrit en Java 8Ajouter un élément à arraylist à l'intérieur haspmap dans java 1.4

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

Après avoir lu JDK 1.4 docs, j'ai réussi à écrire le code ci-dessous, mais comment puis-je ajouter un élément à l'intérieur de la carte ArrayList? Je ne veux pas d'abord ajouter les valeurs à ArrayList, puis ajouter la ArrayList à mapper.

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

Répondre

2

Vous avez à jeter au préalable

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

Bien sûr, si vous voulez utiliser cette valeur plus tard, vous auriez à jeter aussi.

+0

Il a travaillé mais n'a pas pu trouver sur ce nulle part ailleurs. Merci beaucoup. – XZ6H

-2

Vous pouvez même le faire si vous utilisez une version plus récente de java

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

http://ideone.com/IGnHF4

+2

L'op fait référence à une exigence de Java 1.4. Les génériques n'existent pas dans Java 1.4. – davidxxx

+0

@davidxxx mis à jour les années –

+0

Je n'ai pas downvote mais 'new ArrayList ' ne sera toujours pas compilé. – davidxxx