Metode 1: Menerapkan antarmuka pembanding dan mengganti metode perbandingan
Kode Kelas Entitas:
Impor java.util.comParkaror;/*** Metode kelas siswa 1* Menerapkan antarmuka pembanding* dan menimpa metode perbandingan* @author liaot**/kelas publik mengimplementasikan komparator <spuelt> {nama string pribadi; // Nama Private Int Age; // Umur/Tulis ulang metode perbandingan Contoh ini didefinisikan sebagai membandingkan dengan usia @override public int perbandingan (siswa O1, siswa O2) {if (o1.getage ()> o2.getage ()) {return 1; } else {return -1; }} siswa publik (nama string, usia int) {super (); this.name = name; this.age = usia; } public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; }}Kelas Tes:
Impor java.util.arraylist; import java.util.collections; impor java.util.list; kelas publik utama {public static void main (string [] args) {// inisialisasi empat siswa siswa yang berbeda stu1 = siswa baru ("passy a", 20); Siswa Stu2 = Siswa Baru ("Passy A", 18); Siswa Stu3 = Siswa Baru ("Passy C", 16); Siswa Stu4 = Siswa Baru ("Passy C", 19); // Buat daftar baru untuk menambahkan siswa ke daftar daftar <shuent> stulist = new ArrayList <> (); stulist.add (Stu1); stulist.add (Stu2); stulist.add (Stu3); stulist.add (Stu4); System.out.println ("Sebelum menyortir: ======"); untuk (siswa Stu: stulist) {system.out.println ("name:"+stu.getname ()+"usia"+stu.getage ()); } // penyortiran collections.sort (stulist, stu1); // Parameter pertama adalah daftar parameter kedua adalah instance dari sistem objek.out.println ("diurutkan: ======="); untuk (siswa Stu: stulist) {system.out.println ("name:"+stu.getname ()+"usia"+stu.getage ()); }}}Hasil Menjalankan:
Metode 2: Menerapkan antarmuka yang sebanding dan mengganti metode compareTo
/** * Metode kelas siswa 2 mengimplementasikan antarmuka yang sebanding dan menulis ulang metode compareto * * @Author liaot * */kelas publik Student2 mengimplementasikan yang sebanding <Sahen2> {nama string pribadi; // Nama Private Int Age; // Umur // Tulis ulang metode perbandingan contoh ini didefinisikan sebagai membandingkan dengan usia @override public int compareto (student2 stu) {if (this.age> stu.getage ()) {return 1; } else {return -1; }} public student2 (name string, int usia) {super (); this.name = name; this.age = usia; } public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; }}Kelas tes
impor java.util.arraylist; impor java.util.collections; impor java.util.list; kelas publik Main2 {public static void main (string [] args) {// inisialisasi empat siswa yang berbeda student2 stu1 = new student2 ("passy a", 20); Student2 Stu2 = New Student2 ("Passy A", 18); Student2 Stu3 = Student2 baru ("Passy C", 16); Student2 Stu4 = New Student2 ("Passy C", 19); // Buat daftar baru untuk menambahkan siswa ke daftar daftar <sahen2> stulist = new ArrayList <> (); stulist.add (Stu1); stulist.add (Stu2); stulist.add (Stu3); stulist.add (Stu4); System.out.println ("Sebelum menyortir: ======"); untuk (student2 stu: stulist) {system.out.println ("name:"+stu.getname ()+"usia"+stu.getage ()); } // urutkan collections.sort (stulist); // Hanya satu parameter adalah daftar System.out.println ("diurutkan: ======"); untuk (student2 stu: stulist) {system.out.println ("name:"+stu.getname ()+"usia"+stu.getage ()); }}}Hasil berjalan
3. Ringkasan: Perbedaan antara penulisan dan penggunaan kedua metode:
Metode penyortiran Java di atas sesuai dengan atribut objek dalam daftar adalah semua konten yang saya bagikan dengan Anda. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.