Duplication possible:
Trier un tableauListe de contacts
Je stocke des objects DataNode
dans une ArrayList
. La classe DataNode
a un champ entier appelé degree
. Je veux récupérer des objects DataNode
partir de nodeList dans l’ordre croissant des degree
. Comment puis-je le faire.
List nodeList = new ArrayList();
Modifiez la classe DataNode pour qu’elle implémente une interface comparable.
public int compareTo(DataNode o) { return(degree - o.degree); }
alors juste utiliser
Collections.sort(nodeList);
Utilisez un comparateur personnalisé:
Collections.sort(nodeList, new Comparator(){ public int compare(DataNode o1, DataNode o2){ if(o1.degree == o2.degree) return 0; return o1.degree < o2.degree ? -1 : 1; } });
Vous pouvez utiliser le comparateur Bean pour sortinger toutes les propriétés de votre classe personnalisée.