JAVA SET MAP

Résolu
alexandre23 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
alexandre23 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voila je voulais savoir si quelqu'un connaissait la syntaxe afin de remplir un Set et une Map directement lors de son instanciation (si c'est possible). Donc sans passer dans une méthode de remplissage.


Set<Integer> setAge = new HashSet<Integer>(); ????

Genre : Set<Integer> setAge = new HashSet<Integer>(3){1,2,3};

ET

Map<String, Integer> mapNomAge = new HashMap<String, Integer>(); ????

Genre : Map<String, Integer> mapNomAge = new HashMap<String, Integer>(2){("hello",2),("salut"),10};

Merci d'avance

Salutation

Alex
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu n'as pas vraiment le choix, les classes sont ce qu'elles sont, tu ne peux pas faire plus que ce qu'elles permettent. Donc il va falloir faire des add et des put pour chaque valeur...
0
alexandre23 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   11
 
ok merci,

Mais la par exemple pour le hashset, il y a un constructeur comme ceci :

HashSet(Collection<? extends E> c)
Constructs a new set containing the elements in the specified collection.

Mais alors la niveau syntaxe je ne comprend plus rien et il n y a pas d'exemple

Avez vous deja eu a faire a ca ?
0
alexandre23 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   11
 
Pareil pour les hashmap :

HashMap(Map<? extends K,? extends V> m)
Constructs a new HashMap with the same mappings as the specified Map.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
En fait ça veut dire que tu peux faire :

ArrayList<String> liste = new ArrayList<String>();
liste.add("a");
liste.add("b");
...

HashSet<String> set = new HashSet<String>(liste);

HashMap<String,Integer> map1 = new HashMap<String,Integer>();
map1.put("a",1);
map1.put("b",2);
...

HashMap<String,Integer> map2 = new HashMap<String,Integer>(map1);
0
alexandre23 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   11
 
ok c'est parfait c droit ce qu'il me fallait . Merci et bonne fin de journée
0