7
votes

Tri de la liste des points avec Java

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?


0 commentaires

4 Réponses :


21
votes

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());
}
});


0 commentaires

5
votes

in point classe, vous devez implémenter Interface comparable avec type générique et utilisation collections.sort (package Java.util) pour le tri Liste

supposons: xxx


0 commentaires

1
votes

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.


0 commentaires

1
votes

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.


0 commentaires