Dalam program ini, Anda akan belajar mengurutkan daftar larik objek khusus berdasarkan properti yang diberikan di Java.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:
- Kelas dan Objek Java
- Kelas ArrayList Java
Contoh: Sortir ArrayList Objek Kustom Berdasarkan Properti
import java.util.*; public class CustomObject ( private String customProperty; public CustomObject(String property) ( this.customProperty = property; ) public String getCustomProperty() ( return this.customProperty; ) public static void main(String() args) ( ArrayList list = new ArrayList(); list.add(new CustomObject("Z")); list.add(new CustomObject("A")); list.add(new CustomObject("B")); list.add(new CustomObject("X")); list.add(new CustomObject("Aa")); list.sort((o1, o2) -> o1.getCustomProperty().compareTo(o2.getCustomProperty())); for (CustomObject obj : list) ( System.out.println(obj.getCustomProperty()); ) ) )
Keluaran
A Aa BXZ
Dalam program di atas, kita telah mendefinisikan CustomObject
kelas dengan String
properti, customProperty.
Kami juga telah menambahkan konstruktor yang menginisialisasi properti, dan fungsi pengambil getCustomProperty()
yang mengembalikan customProperty.
Dalam main()
metode ini, kami telah membuat daftar array dari daftar objek khusus, diinisialisasi dengan 5 objek.
Untuk mengurutkan daftar dengan properti yang diberikan, kami menggunakan sort()
metode daftar . The sort()
metode mengambil daftar akan diurutkan (daftar diurutkan akhir juga sama) dan comparator
.
Dalam kasus kami, pembandingnya adalah lambda yang
- mengambil dua objek dari daftar o1 dan o2,
- membandingkan dua objek customProperty menggunakan
compareTo()
metode, - dan akhirnya mengembalikan bilangan positif jika properti o1 lebih besar dari o2, negatif jika properti o1 lebih kecil dari o2, dan nol jika sama.
Berdasarkan ini, daftar diurutkan berdasarkan properti terkecil ke terbesar dan disimpan kembali ke daftar.