2013-01-04 3 views
0

J'ai une carte, mais je veux les valeurs de la carte pour être de type ArrayListstocker des valeurs de liste

Map m = new HashMap(); 

puisque la valeur de la clé « A » aurait elle-même plusieurs valeurs, par exemple. touche « A » a des valeurs 10,20,30 s'il vous plaît conseiller sur la façon d'y parvenir, j'ai créé la première étape ci-dessous

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

s'il vous plaît conseiller comment ajouter les multiples valeurs dans la liste suivante et stocker ainsi que le carte en service de vente

+2

Qu'est-ce qui ne va pas avec votre solution actuelle? – clamp

Répondre

0

Si je comprends bien la question alors cela semble être la bonne façon de moi, tout ce que vous devez alors faire est soit:

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

A.put(strings); 

Ou vous pouvez:

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

Vous aimez cette -

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

Comme:

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

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

comme je sais que, vous pouvez utiliser Apache MultiValueMap. Il répond à vos besoins.http: //commons.apache.org/collections/apidocs/org/apache/commons/collections/map/MultiValueMap.html

0

Voici un programme.

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); 

    } 

} 
Questions connexes