Bonjour,
Je cherche le moyen de trier une liste selon plusieurs élément des objets.
J'ai une liste A contenant plusieurs objets B et je souhaite tri cette liste par ordre décroissant de l'élément IndiceA (qui est un integer allant de 1 à 6) de mes objets, Si un objet dispose d'un indice identique, je réalise le tri sur la date de mes objet, à date identique on fait le tri sur un numero de l'objet. Pour être plus précis voila ce que j'ai:
Nom Objet Indice Date Num
A 2 01/01/2010 10
B 3 05/06/2010 11
C 4 03/07/2004 12
D 1 06/07/2009 13
E 3 05/06/2010 14
F 1 03/03/2005 15
et aprés avoir effectuer le tri je souhaite avoir:
Par odre décroissant de l'indice, si deux indice identique par date croissante, si date identique par num croissant
Nom Objet Indice Date Num
C 4 03/07/2004 12
B 3 05/06/2010 11
E 3 05/06/2010 14
A 2 01/01/2010 10
F 1 03/03/2005 15
D 1 06/07/2009 13
Aprés quelques recherche sur Internet j'ai tenté d'utiliser un comparator, mais cela ne fonctionne pas, voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public static class Comparateur implements Comparator<ProxyA> { public Comparateur() {} public int compare(ProxyA o1, ProxyA o2) { int j=o1.getIndice(); int t=o2.getIndice(); if(j==t) { Date date1 = o1.getDate(); Date date2 = o2.getDate(); if(j==t) { int l= o1.getNUM(); int j = o2.getNUM(); } } // return j.compareTo(t); } }
Merci de votre aide
Partager