J'ai écrit un exemple de tri Java Array, ici je le partagerai pour que tout le monde apprenne ensemble
La copie de code est la suivante:
Package com.yonyou.test;
import java.util.arraylist;
Importer java.util.collections;
Importer java.util.comparator;
Importer java.util.list;
Test de classe publique {
public static void main (String [] args) {
Étudiant zlj = nouvel étudiant ("ding xiaoyu", 21);
Student DXY = New Student ("Zhao SI", 22);
Étudiant CJC = New Student ("Zhang San", 11);
Étudiant LGC = New Student ("Liu Wu", 19);
List <Student> StudentList = new ArrayList <Student> ();
StudentList.add (ZLJ);
StudentList.add (DXY);
StudentList.add (CJC);
StudentList.add (LGC);
System.out.println ("trié par année:");
Collection.Sort (StudentList, New SortByage ());
pour (étudiant étudiant: StudentList) {
System.out.println (Student.GetName () + "/" + Student.getAge ());
}
System.out.println ("==========");
System.out.println ("trié par nom");
Collection.Sort (StudentList, new SortByName ());
pour (étudiant étudiant: StudentList) {
System.out.println (Student.GetName () + "/" + Student.getAge ());
}
}
}
classe SortByage implémente le comparateur {
public int compare (objet o1, objet o2) {
Student S1 = (étudiant) O1;
Student S2 = (étudiant) O2;
if (s1.getage ()> s2.getage ())
retour 1;
else if (s1.getage () == s2.getage ()) {
retour 0;
}
retour -1;
}
}
classe SortByName implémente le comparateur {
public int compare (objet o1, objet o2) {
Student S1 = (étudiant) O1;
Student S2 = (étudiant) O2;
if (s1.getName (). compareto (s2.getName ()) <0)
retour -1;
else if (s1.getName (). compareTo (s2.getName ())> 0) {
retour 1;
}
retour 0;
}
}
classe étudiante {
Âge privé;
nom de chaîne privé;
public int getage () {
âge de retour;
}
Setage du public public (Int Age) {
this.age = âge;
}
public String getName () {
nom de retour;
}
public void setName (nom de chaîne) {
this.name = name;
}
Étudiant public (nom de la chaîne, Int Age) {
this.age = âge;
this.name = name;
}
}