Ich habe ein Beispiel für Java -Array -Sortierung geschrieben. Hier werde ich es für alle teilen, um zusammen zu lernen
Die Codekopie lautet wie folgt:
Paket com.yonyou.test;
Import Java.util.ArrayList;
Import Java.util.Collections;
Java.util.comParator importieren;
importieren java.util.list;
öffentliche Klassen -Test {
public static void main (String [] args) {
Student ZLJ = New Student ("Ding Xiaoyu", 21);
Student DXY = New Student ("Zhao Si", 22);
Student CJC = New Student ("Zhang San", 11);
Student LGC = New Student ("Liu Wu", 19);
LIST <Student> studentList = new ArrayList <Studenten> ();
studentList.add (ZLJ);
studentList.add (DXY);
studentList.add (CJC);
studentList.add (LGC);
System.out.println ("Sortiert nach Jahr:");
Collections.sort (StudentList, New SortByage ());
für (Student Student: StudentList) {
System.out.println (student.getName () + " /" + student.getage ());
}
System.out.println ("==========");
System.out.println ("nach Namen sortiert");
Collections.sort (StudentList, New SortByName ());
für (Student Student: StudentList) {
System.out.println (student.getName () + " /" + student.getage ());
}
}
}
Class Sortbyage implementiert CompueR {
public int compare (Objekt O1, Objekt O2) {
Schüler S1 = (Schüler) O1;
Schüler S2 = (Schüler) O2;
if (s1.getage ()> s2getage ())
Rückkehr 1;
sonst if (s1.getage () == s2.getage ()) {
Rückkehr 0;
}
Return -1;
}
}
Class SortByName implementiert CompueR {
public int compare (Objekt O1, Objekt O2) {
Schüler S1 = (Schüler) O1;
Schüler S2 = (Schüler) O2;
if (s1.getName (). vergleicheto (s2.getName ()) <0)
Return -1;
sonst if (s1.getName (). vergleicheto (s2.getName ())> 0) {
Rückkehr 1;
}
Rückkehr 0;
}
}
Klassenstudent {
privates int Alter;
privater Zeichenfolge Name;
public int getageage () {
Rückkehralter;
}
public void setage (int ay) {
this.age = Alter;
}
public String getName () {
Rückgabename;
}
public void setName (String Name) {
this.name = name;
}
öffentlicher Schüler (Stringname, int Alter) {
this.age = Alter;
this.name = name;
}
}