Utilisation de Comparator en Java pour le tri
L'interface Comparator de Java est un outil puissant pour personnaliser le comportement de tri des objets de collection. Il facilite le tri des données selon des critères spécifiques, au-delà de l'interface Comparable par défaut.
Comprendre l'interface Comparator
L'interface Comparator définit une seule méthode, compare( ), qui prend deux objets et renvoie un entier :
Utilisation de Comparator
Pour utiliser un Comparator avec une collection, transmettez simplement une instance du Comparator comme deuxième argument aux méthodes de tri des collections telles que Collections.sort(). Par exemple :
List<MyObject> myObjects = new ArrayList<>(); Collections.sort(myObjects, new MyComparator());
Où MyComparator implémente le Comparator
Résolution de l'exception ClassCastException
Dans le code que vous avez fourni, l'exception dans le fil "main" java.lang L'erreur .ClassCastException se produit car votre classe People implémente l'interface Comparator au lieu de Comparable. Pour résoudre ce problème, supprimez la ligne Implements Comparator de la classe People.
Une classe Comparator distincte doit être créée pour gérer la logique de tri. Par exemple :
public class PeopleComparator implements Comparator<People> { @Override public int compare(People p1, People p2) { return p1.getId() - p2.getId(); } }
Et utilisez-le comme suit :
Collections.sort(peps, new PeopleComparator());
Notes supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!