Découper un tableau

lilybg - 19 mars 2013 à 08:56
 lilybg - 19 mars 2013 à 17:09
Bonjour

je souhaite mettre chaque t[i] dans une liste et rassembler les doublons ensemble.
t[]= 33 225 36 45 189 225 33 225 36 .........

Liste1: 33,33
Liste2: 225, 225, 225
Liste3: 36,36
Liste4:45
Liste5:189 ................

Le nombre de liste est inconnu cad je dois créer a chaque nouvelle valeur une liste

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 mars 2013 à 09:27
Salut,

Et quel est ton problème ?
0
je ne sais pas comment mettre chaque nouvelle valeur dans une liste ???
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 mars 2013 à 10:04
Tu n'as pas besoin de mettre chaque nouvelle valeur dans une liste, tu ne vas pas enregistrer plusieurs fois le même nombre. Il te suffit de retenir combien de fois il apparaît non ?
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
19 mars 2013 à 16:27
tu peux utiliser une Map, dont chaque clé sera une valeur de la liste initiale et chaque valeur sera le nombre de fois que la valeur apparait dans la liste initiale.
Integer[] t = {33,225,36,45,189,225,33,225,36};
HashMap m = new HashMap(); 
for (Integer i : t) 
m.put(i, m.containsKey(i) ? m.get(i) + 1 : 1);
Iterator<Map.Entry> mi = m.entrySet().iterator();
while (mi.hasNext()) {
Entry me = mi.next();
System.out.println("key " + me.getKey() + ", value " + me.getValue());
}	
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci AlexN :)

je vais l'essayer
0
Rejoignez-nous