tri d ' une array List selon un champ
Bonjour,
Je cherche a trier le contenu d ' une arrayList d ' objets selon un champ
Code:
1 2
| private List<Messages> messages= new ArrayList<Messages>();
messages.add(new Messages(etat,con.recupererNumero(i).toString(),con.recupererDate(i).toString())) |
Je chercherai a la trier selon le 3 eme champs , de la date la plus récente a la plus ancienne
J ' ai donc implemente mon propre comparateur comme ceci
Code:
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;
}
}
} |
et apres j ' appelle la methode sort de Collections avec mon propre comparateur , mais le trie de n ' effectue pas
Code:
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());
} |
Je pense qu' il y a un souci avec mon algo de tri et j ' aimerais votre aide pour le résoudre svp
Merci de votre aide