Bonsoir,
J'ai une liste d'objet Etudiant dont les champs sont : Nom, Prenom, Age, Date d'inscription.
Je n'arrive par a trier cette liste par date d'inscription en utilisant la méthode Collections.sort.
Pourriez-vous m'aider svp ?
Merci par avance








Bonsoir,
J'ai une liste d'objet Etudiant dont les champs sont : Nom, Prenom, Age, Date d'inscription.
Je n'arrive par a trier cette liste par date d'inscription en utilisant la méthode Collections.sort.
Pourriez-vous m'aider svp ?
Merci par avance
Il faut créer une classe EtudiantComparator qui implémente Comparator<Etudiant>:
Tu l'instancies quelque part :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class EtudiantComparator implements Comparator<Etudiant> { public int compare(Etudiant e1, Etudiant e2) { // comparer e1 et e2 } }
Et tu appelles la méthode sort() qui utilise les comparators :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Comparator<Etudiant> etudiantComparator = new EtudiantComparator();
Code : Sélectionner tout - Visualiser dans une fenêtre à part Collections.sort(tesEtudiants, etudiantComparator);
Crée un Comparator
et pour le trie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class EtudiantComparator implements Comparator<Etudiant> { public int compare(Etudiant etudiant1, Etudiant etudiant2) { int result = etudiant1.getDateInscription().compareTo(etudiant1.getDateInscription()); if(result == 0){ result = etudiant1.getNom().compareTo(etudiant1.getNom()); } return result; } }
Edit: owned
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 List<Etudiant> etudiants = new ArrayList<Etudiant>(); // tu remplis la liste Collections.sort(etudiants, new EtudiantComparator());
A+.
Il faut que ton object Etudiant implement l'interface Comparable<Etudiant>
Dans cette interface tu dois avoir une méthode :
int compareTo(Etudiant)
Je t'invite à aller voir la doc : http://docs.oracle.com/javase/6/docs...omparable.html
bien sur dans cette méthode tu compareras les dates des étudiants.
Partager