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