Isih Senarai Array dengan Pesanan Tersuai
Dalam banyak aplikasi, seperti buku alamat, pengisihan ialah ciri penting. Tutorial ini meneroka cara melaksanakan pengisihan tersuai untuk ArrayLists, membolehkan anda memesan objek berdasarkan kriteria tertentu.
Pemesanan Semulajadi Menggunakan Sebanding
Jika anda ingin mewujudkan lalai menyusun tertib, laksanakan antara muka Sebanding untuk kelas Kenalan anda. Dengan mentakrifkan kaedah compareTo, anda boleh menentukan cara objek harus dibandingkan. Contohnya, untuk mengisih mengikut nama, laksanakannya seperti berikut:
public class Contact implements Comparable<Contact> { private String name; // ... @Override public int compareTo(Contact other) { return name.compareTo(other.name); } }
Ini membolehkan anda mengisih ArrayList kenalan menggunakan Collections.sort(contacts); dan mereka akan diisih mengikut nama.
Pemesanan Luar Menggunakan Pembanding
Untuk mengatasi susunan semula jadi, buat Pelaksanaan pembanding. Contohnya, untuk mengisih mengikut alamat:
List<Contact> contacts = new ArrayList<>(); // Fill it. Collections.sort(contacts, new Comparator<Contact>() { public int compare(Contact one, Contact other) { return one.getAddress().compareTo(other.getAddress()); } });
Generic BeanComparator
Untuk penyelesaian generik, pertimbangkan untuk menggunakan BeanComparator, yang membandingkan objek berdasarkan nama medan yang ditentukan . Untuk mengisih mengikut nombor telefon:
// Sort on "phone" field of the Contact bean. Collections.sort(contacts, new BeanComparator("phone"));
Petua Tambahan
Dengan mengikuti teknik ini, anda boleh melaksanakan pengisihan tersuai untuk ArrayLists dengan berkesan, memastikan data anda disusun mengikut keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pengisihan Tersuai untuk ArrayLists di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!