Implementasi daftar yang ditentukan dalam Kerangka Koleksi Java termasuk Vektor, ArrayList dan LinkedList. Koleksi ini menyediakan akses indeks ke grup objek. Mereka memberikan dukungan untuk menambahkan dan menghapus elemen. Namun, mereka tidak memiliki dukungan penyortiran elemen bawaan.
Anda dapat mengurutkan elemen daftar menggunakan metode sort () di kelas java.util.collections. Anda dapat meneruskan objek daftar ke metode ini, atau melewati daftar dan pembanding. Jika semua elemen dalam daftar adalah kelas dari jenis yang sama, dan kelas ini mengimplementasikan antarmuka yang sebanding, Anda dapat dengan mudah memanggil collections.sort (). Jika kelas ini tidak mengimplementasikan pembanding, Anda juga dapat meneruskan komparator ke dalam Method Sort () untuk mengurutkan. Jika Anda tidak ingin mengurutkan menggunakan urutan klasifikasi default, Anda juga dapat meneruskan komparator ke dalam sortir metode () untuk mengurutkan.
1. Objek yang sebanding mengimplementasikan antarmuka yang sebanding
Siswa Public Menyampaikan {Private Int ID Private; {this.id = id; {this.name = name;} public static void main (string args []) {list <schuid> list = new ArrayList <schuid> (); add (siswa baru (i)); (o Siswa) {Siswa S = (Siswa) O;
2. Gunakan koleksi.sort (Objek O, Komparator C)
Kelas publik Jiamenucomparator mengimplementasikan pembanding {public int (objek o1, objek o2) {if (null! = o1 && null! = o2) {jiamenu menu1 = (jiamenu) o1; ) <menu2.getid)) {return 1;
3. Urutkan beberapa atribut dalam elemen daftar (menggunakan commons-beanutils)
Perpustakaan Kelas Commons-Beanutils memiliki kelas beancomparator yang dapat digunakan untuk mengurutkan Javabeans. Tetapi kelas ini hanya dapat mengurutkan satu atribut pada satu waktu. Berikut adalah contoh penggunaan beancomparator untuk mengurutkan beberapa properti JavaBeans, yang sangat sederhana:
impor org.apache.commons.beanutils.beancomparator; impor java.util.collections; impor java.util.util. "Uncecked"}) Listsorter kelas publik { /*** beberapa atribut elemen daftar diurutkan. Misalnya, listsorter.sort (daftar, "name", "age"), sortir pertama dengan * atribut nama, dan elemen dengan nama yang sama diurutkan berdasarkan atribut Age. * * Daftar @param berisi daftar elemen yang akan diurutkan * properti @param properti yang akan diurutkan. Nilai -nilai sebelumnya memiliki prioritas tinggi. */ public static <v> void sort (daftar <v> daftar, string akhir ... properti) {collections.sort (daftar, pembanding baru <v> () {public int compare (v o1, v o2) {if (O1 == NULL && O2 == NULL) Return 0; Properti);