Saya menulis contoh penyortiran array java, di sini saya akan membaginya untuk semua orang untuk belajar bersama
Salinan kode adalah sebagai berikut:
paket com.yonyou.test;
impor java.util.arraylist;
impor java.util.collections;
impor java.util.comparator;
impor java.util.list;
tes kelas publik {
public static void main (string [] args) {
Siswa ZLJ = Siswa Baru ("Ding Xiaoyu", 21);
Siswa DXY = Siswa Baru ("Zhao Si", 22);
Siswa CJC = Siswa Baru ("Zhang San", 11);
Siswa LGC = Siswa Baru ("Liu Wu", 19);
Daftar <Sahasiswa> StudentList = NEW ARRAYLIST <STAHISAN> ();
StudentList.Add (ZLJ);
StudentList.Add (DXY);
StudentList.Add (CJC);
StudentList.Add (LGC);
System.out.println ("Diurutkan berdasarkan tahun:");
Collections.sort (studentlist, new sortbyage ());
untuk (siswa siswa: siswa) {
System.out.println (student.getName () + " /" + student.getage ());
}
System.out.println ("===========");
System.out.println ("Diurutkan berdasarkan Nama");
Collections.sort (studentlist, new sortbyname ());
untuk (siswa siswa: siswa) {
System.out.println (student.getName () + " /" + student.getage ());
}
}
}
Class SortsByage mengimplementasikan pembanding {
Public int Compare (Object O1, Object O2) {
Siswa S1 = (Siswa) O1;
Siswa S2 = (Siswa) O2;
if (s1.getage ()> s2.getage ())
kembali 1;
lain if (s1.getage () == s2.getage ()) {
kembali 0;
}
kembali -1;
}
}
kelas sortbyname mengimplementasikan pembanding {
Public int Compare (Object O1, Object O2) {
Siswa S1 = (Siswa) O1;
Siswa S2 = (Siswa) O2;
if (s1.getname (). compareTo (s2.getname ()) <0)
kembali -1;
lain if (s1.getName (). compareTo (s2.getname ())> 0) {
kembali 1;
}
kembali 0;
}
}
siswa kelas {
usia int pribadi;
nama string pribadi;
publik int getage () {
usia kembali;
}
public void setage (int usia) {
this.age = usia;
}
Public String getName () {
nama pengembalian;
}
public void setName (nama string) {
this.name = name;
}
siswa publik (nama string, usia int) {
this.age = usia;
this.name = name;
}
}