Tri des objets Java par plusieurs champs : nom et âge
Considérez un tableau d'objets Person, chacun contenant un âge entier et un nom de chaîne . Le tri d'un tel tableau par ordre alphabétique par nom, puis par âge nécessite un algorithme de tri personnalisé.
Utilisation de Collections.sort
La bibliothèque Java Collections fournit une méthode de tri intégrée vous pouvez exploiter :
private static void order(List<Person> persons) { Collections.sort(persons, new Comparator<>() { @Override public int compare(Object o1, Object o2) { // Compare by name (lexicographically) String x1 = ((Person) o1).getName(); String x2 = ((Person) o2).getName(); int sComp = x1.compareTo(x2); // If names are different, return result if (sComp != 0) { return sComp; } // If names are equal, compare by age Integer x1 = ((Person) o1).getAge(); Integer x2 = ((Person) o2).getAge(); return x1.compareTo(x2); } }); }
Processus Flow
En appelant Collections.sort avec ce comparateur personnalisé, vous pouvez trier le tableau des objets Personne par ordre croissant de nom, suivi de l'ordre croissant d'âge.
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!