J'ai une liste d'objets de points, que je veux trier par une certaine coordonnée, disons les valeurs x. Java fournit-il des mécanismes utiles ou devrais-je servir à moi-même de l'un des algorithmes de tri courants? P>
4 Réponses :
Oui Créez une personnalité comparateur Code> et utilisez-le pour trier la liste des points
List<Point> points = new ArrayList<Point>();
points.add(new Point(1, 2));
points.add(new Point(60, 50));
points.add(new Point(50, 3));
Collections.sort(points,new Comparator<Point>() {
public int compare(Point o1, Point o2) {
return Integer.compare(o1.getX(), o2.getX());
}
});
in supposons: p> point code> classe, vous devez implémenter Interface comparable avec type générique collections.sort code> (package Java.util) pour le tri Liste
Vous devez soit rendre votre classe de points pour mettre en œuvre une interface comparable, soit fournir une méthode de tri () avec votre propre objet comparateur, qui indique le tri () Comment commander vos objets. Il y a beaucoup d'exemples ici. P>
Vous pouvez utiliser quelque chose comme un comparateur de haricots afin que vous ne puissiez pas Il faut continuer à créer des comparateurs personnalisés. P>