Mendapatkan semula Objek daripada ArrayList Berdasarkan Nilai Harta
Tugas di tangan adalah untuk mencari objek tertentu, iaitu contoh Carnet, dalam sebuah ArrayList
Pendekatan Java 8 Streams
Java 8 memperkenalkan strim, yang menyediakan cara yang ringkas dan cekap untuk bekerja dengan pengumpulan data. Untuk mencari objek yang diingini:
public static Carnet findByCodeIsIn(Collection<Carnet> listCarnet, String codeIsIn) { return listCarnet.stream().filter(carnet -> codeIsIn.equals(carnet.getCodeIsin())).findFirst().orElse(null); }
Kaedah ini memanfaatkan stream() untuk melintasi senarai dan penapis() untuk memilih hanya objek dengan nilai codeIsin yang sepadan. findFirst() mendapatkan semula elemen padanan pertama dan orElse() mengembalikan null jika tiada padanan ditemui.
Pendekatan Kelas Utiliti Generik
Untuk senario di mana pelbagai jenis objek ( bukan hanya Carnet) atau berbilang sifat carian (bukan hanya codeIsin) terlibat, pertimbangkan untuk mencipta kelas utiliti untuk merangkum carian logik:
public final class FindUtils { public static <T> T findByProperty(Collection<T> col, Predicate<T> filter) { return col.stream().filter(filter).findFirst().orElse(null); } } public final class CarnetUtils { public static Carnet findByCodeTitre(Collection<Carnet> listCarnet, String codeTitre) { return FindUtils.findByProperty(listCarnet, carnet -> codeTitre.equals(carnet.getCodeTitre())); } // Additional methods for other search criteria }
Pendekatan ini memusatkan logik carian dan membolehkan penggunaan semula mudah merentas jenis objek dan sifat carian yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Objek Carnet dalam ArrayList dengan CodeIsin Property?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!