Mendapatkan semula Objek daripada ArrayLists Berdasarkan Sifat
Dalam pengaturcaraan berorientasikan objek, anda sering menghadapi senario di mana anda perlu mencari objek dengan harta tertentu di tengah-tengah koleksi. Ini amat berguna dalam rangka kerja seperti Java EE, di mana anda mungkin bekerja dengan POJO dan perlu mendapatkan semula objek daripada cache dalam memori.
Pertimbangkan senario di mana anda menguruskan senarai objek Carnet, setiap satunya mempunyai sifat seperti codeTitre, nomTitre, dan codeIsin. Katakan anda perlu mencari objek Carnet tertentu berdasarkan kodIsinnya. Untuk mencapai matlamat ini, anda boleh memanfaatkan kuasa strim Java:
public static Carnet findByCodeIsIn(Collection<Carnet> listCarnet, String codeIsIn) { return listCarnet.stream().filter(carnet -> codeIsIn.equals(carnet.getCodeIsin())).findFirst().orElse(null); }
Coretan kod ini menggunakan strim untuk mencari dengan cekap melalui koleksi objek Carnet, menapis objek yang tidak sepadan dengan kriteria codeIsIn yang diberikan. Dengan memanfaatkan kaedah findFirst(), anda mendapatkan semula objek padanan pertama, atau batal jika tiada objek ditemui.
Anda juga mungkin menghadapi situasi di mana anda perlu mencari objek dengan sifat berbeza atau merentas pelbagai jenis objek. Untuk menangani perkara ini, anda boleh memperkenalkan kelas utiliti seperti FindUtils:
public final class FindUtils { public static <T> T findByProperty(Collection<T> col, Predicate<T> filter) { return col.stream().filter(filter).findFirst().orElse(null); } }
Kelas utiliti ini menyediakan kaedah generik yang boleh digunakan untuk mencari objek berdasarkan mana-mana kriteria yang ditentukan.
Tambahan pula , anda boleh mencipta kelas utiliti khusus untuk setiap jenis objek, seperti CarnetUtils:
public final class CarnetUtils { public static Carnet findByCodeTitre(Collection<Carnet> listCarnet, String codeTitre) { return FindUtils.findByProperty(listCarnet, carnet -> codeTitre.equals(carnet.getCodeTitre())); } // Similar methods for finding by other properties }
Dengan menggunakan kelas utiliti ini, anda boleh mencari objek dengan mudah dan fleksibel dalam ArrayLists anda, tanpa mengira sifat khusus mereka.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Objek dengan Cekap dari ArrayLists Berdasarkan Sifat Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!