Bonjour,
Je cherche a trier le contenu d ' une arrayList d ' objets selon un champ
Je chercherai a la trier selon le 3 eme champs , de la date la plus récente a la plus ancienne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 private List<Messages> messages= new ArrayList<Messages>(); messages.add(new Messages(etat,con.recupererNumero(i).toString(),con.recupererDate(i).toString()))
J ' ai donc implemente mon propre comparateur comme ceci
et apres j ' appelle la methode sort de Collections avec mon propre comparateur , mais le trie de n ' effectue pas
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 class ComparateurDates implements Comparator<Messages>{ public int compare(Messages m1, Messages m2) { if (m1.getDates().compareTo(m2. getDates()) == 1) { return -1; } else if (m1.getDates().compareTo(m2. getDates()) == -1) { return 1; } else { return 0; } } }
Je pense qu' il y a un souci avec mon algo de tri et j ' aimerais votre aide pour le résoudre svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void triParDates() { // On trie les données : Collections.sort(this.messages, new ComparateurDates()); // On envoi un évenement pour signaler que les données ont changées : fireContentsChanged(this, 0, this.getSize()); }
Merci de votre aide
Partager