Méthode 1: Implémentez l'interface du comparateur et remplacez la méthode de comparaison
Code de classe d'entité:
Importer java.util ..Parator; / ** * Méthode de classe étudiante 1 * Implémentez l'interface du comparateur * et écrasez la méthode de comparaison * @author liaot * * / classe publique Student implémente le comparateur <Student> {Nom de la chaîne privée; // Nommez l'âge privé; // Âge / réécrire la méthode de comparaison Cet exemple est défini comme comparant par âge @Override public int compare (Student o1, étudiant o2) {if (o1.getage ()> o2.getage ()) {return 1; } else {return -1; }} public Student (nom de chaîne, int age) {super (); this.name = name; this.age = âge; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public int getage () {return âge; } public void Setage (int Age) {this.age = age; }}Classe de test:
import java.util.arraylist; import java.util.collections; import java.util.list; public class main {public static void main (string [] args) {// initialiser quatre étudiants différents étudiants Stu1 = new student ("Passy a", 20); Student Stu2 = New Student ("Passy A", 18); Student Stu3 = New Student ("Passy C", 16); Student Stu4 = New Student ("Passy C", 19); // Créez une nouvelle liste pour ajouter des étudiants à la liste List <Student> Stulist = new ArrayList <> (); Stulist.Add (Stu1); Stulist.Add (Stu2); Stulist.Add (Stu3); Stulist.Add (STU4); System.out.println ("Avant de trier: ======"); pour (Student Stu: Stulist) {System.out.println ("Name:" + stu.getName () + "Age" + Stu.getage ()); } // tri Collection.Sort (Stulist, Stu1); // Le premier paramètre est la liste Le deuxième paramètre est une instance de l'objet System.out.println ("Tri: ======"); pour (Student Stu: Stulist) {System.out.println ("Name:" + stu.getName () + "Age" + Stu.getage ()); }}}Résultats en cours:
Méthode 2: Implémentez l'interface comparable et remplacez la méthode de comparaison
/ ** * La méthode de la classe d'étudiant 2 implémente l'interface comparable et réécrit la méthode compareto * * @author liaot * * / public class Student2 implémente <Student2> {nom de chaîne privée; // Nommez l'âge privé; // Âge // Réécriture de la méthode de comparaison Cet exemple est défini comme comparant par âge @Override public int compareto (Student2 Stu) {if (this.age> stu.getage ()) {return 1; } else {return -1; }} public Student2 (nom de chaîne, int age) {super (); this.name = name; this.age = âge; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public int getage () {return âge; } public void Setage (int Age) {this.age = age; }}Classe de test
import java.util.arraylist; import java.util.collections; import java.util.list; public class main2 {public static void main (String [] args) {// initialiser quatre étudiants différents Student2 Stu1 = new Student2 ("Passy a", 20); Student2 Stu2 = New Student2 ("Passy A", 18); Student2 Stu3 = New Student2 ("Passy C", 16); Student2 Stu4 = New Student2 ("Passy C", 19); // Créez une nouvelle liste pour ajouter des étudiants à la liste de liste <Student2> Stulist = new ArrayList <> (); Stulist.Add (Stu1); Stulist.Add (Stu2); Stulist.Add (Stu3); Stulist.Add (STU4); System.out.println ("Avant de trier: ======"); pour (Student2 Stu: Stulist) {System.out.println ("Name:" + Stu.getName () + "Age" + Stu.getage ()); } // Trier Collection.Sort (Stulist); // Un seul paramètre est List System.out.println ("tri: ======"); pour (Student2 Stu: Stulist) {System.out.println ("Name:" + Stu.getName () + "Age" + Stu.getage ()); }}}Résultats en cours d'exécution
3. Résumé: La différence entre l'écriture et l'utilisation des deux méthodes:
La méthode de tri Java ci-dessus en fonction des attributs des objets dans la liste est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.