JAVA SET MAP

Résolu/Fermé
alexandre23 Messages postés 36 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 27 janvier 2012 - 25 nov. 2011 à 18:14
alexandre23 Messages postés 36 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 27 janvier 2012 - 26 nov. 2011 à 15:06
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 nov. 2011 à 21:14
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 mercredi 12 octobre 2011 Statut Membre Dernière intervention 27 janvier 2012 11
26 nov. 2011 à 14:29
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 mercredi 12 octobre 2011 Statut Membre Dernière intervention 27 janvier 2012 11
26 nov. 2011 à 14:30
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
26 nov. 2011 à 14:44
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 mercredi 12 octobre 2011 Statut Membre Dernière intervention 27 janvier 2012 11
26 nov. 2011 à 15:06
ok c'est parfait c droit ce qu'il me fallait . Merci et bonne fin de journée
0