Methode 1: Implementieren Sie die Komparatorschnittstelle und überschreiben Sie die Vergleichsmethode
Entitätsklassencode:
Java.util.comParator importieren;/*** Schülerklassenmethode 1* Implementieren Sie die Komparator -Schnittstelle* und überschreiben Sie die Vergleichsmethode* @Author Liaot***/Public Class Student Implements Compue <Student> {privater String -Name; // Private int -Alter nennen; // Alter/Umschreiben Die Vergleichsmethode Dieses Beispiel wird definiert als im Vergleich von Age @Override public int Compare (Student O1, Student O2) {if (o1.getage ()> o2.getage ()) {return 1; } else {return -1; }} public student (String -Name, int age) {super (); this.name = name; this.age = Alter; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; }}Testklasse:
Java.util.ArrayList importieren; import java.util.collections; import java.util.list; public class main {public static void main (String [] args) {// Initialisieren Sie vier verschiedene Schüler student stu1 = neuer Schüler ("Passy a", 20); Student stu2 = neuer Schüler ("Passy a", 18); Student stu3 = neuer Schüler ("Passy C", 16); Student stu4 = neuer Schüler ("Passy C", 19); // Erstellen Sie eine neue Liste, um die Schüler zur Liste der Liste <Student> stulist = new ArrayList <> () hinzuzufügen. stulist.add (stu1); stulist.add (stu2); stulist.add (stu3); stulist.add (stu4); System.out.println ("Vor dem Sortieren: ======"); für (Student Stu: Stulist) {System.out.println ("Name:"+stu.getName ()+"Alter"+stu.getage ()); } // sorting collections.sort (stulist, stu1); // Der erste Parameter ist List. Der zweite Parameter ist eine Instanz des Objektsystems.out.println ("sortiert: ======"); für (Student Stu: Stulist) {System.out.println ("Name:"+stu.getName ()+"Alter"+stu.getage ()); }}}Auslaufergebnisse:
Methode 2: Implementieren Sie die vergleichbare Schnittstelle und überschreiben Sie die Vergleichsmethode
/** * Schülerklasse -Methode 2 implementiert eine vergleichbare Schnittstelle und schreibt die Vergleichsmethode ab * * @author liaot * */public class student2 implementiert vergleichbar <student2> {private String -Name; // Private int -Alter nennen; // Alter // Schreiben Sie die Vergleichsmethode um. Dieses Beispiel wird definiert als im Vergleich nach älter @Override public int vergleicheto (student2 stu) {if (this.age> stu.getage ()) {return 1; } else {return -1; }} public student2 (String -Name, int Alter) {Super (); this.name = name; this.age = Alter; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; }}Testklasse
Import Java.util.ArrayList; Import Java.util.Collections; Import Java.util.List; öffentliche Klasse Main2 {public static void main (String [] args) {// vier verschiedene Studenten student2 stu1 = neuer 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); // Erstellen Sie eine neue Liste, um die Schüler zur Liste der Liste <Student2> stulist = new ArrayList <> () hinzuzufügen. stulist.add (stu1); stulist.add (stu2); stulist.add (stu3); stulist.add (stu4); System.out.println ("Vor dem Sortieren: ======"); für (student2 stu: stulist) {system.out.println ("name:"+stu.getname ()+"älter"+stu.getage ()); } // sortieren sorts.sort (stulist); // Nur ein Parameter ist List System.out.println ("sortiert: ======"); für (student2 stu: stulist) {system.out.println ("name:"+stu.getname ()+"älter"+stu.getage ()); }}}Auslaufergebnisse
3. Zusammenfassung: Der Unterschied zwischen dem Schreiben und der Verwendung der beiden Methoden:
Die obige Java -Sortiermethode gemäß den Attributen von Objekten in der Liste ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.