Mencari Objek dalam Senarai Berdasarkan Nilai Medan
Salah satu tugas biasa dalam pengaturcaraan ialah menyemak sama ada koleksi mengandungi objek yang memenuhi kriteria tertentu. Di Java, kaedah List.contains(Object) boleh digunakan untuk menyemak kehadiran objek, tetapi ia memerlukan lelaran melalui senarai untuk melakukan perbandingan. Untuk kecekapan kod yang lebih baik, mari kita terokai penyelesaian alternatif.
Memanfaatkan Strim untuk Penapisan
Dengan pengenalan strim dalam Java 8, kami mempunyai alat yang berkuasa untuk memanipulasi koleksi dengan cekap. Strim menyediakan pendekatan deklaratif yang membolehkan kami melakukan operasi pada elemen koleksi tanpa mengubah suai koleksi asal.
Untuk mengenal pasti objek dengan nilai medan tertentu dalam senarai, kami boleh menggunakan kaedah stream() untuk mencipta aliran elemen senarai. Kemudian, kita boleh menggunakan kaedah penapis() dengan ungkapan lambda untuk menapis elemen yang tidak memenuhi kriteria yang dikehendaki.
Contoh Pelaksanaan
Berikut ialah contoh pelaksanaan menggunakan strim untuk mencari objek dengan nilai medan yang sepadan dalam senarai:
<code class="java">public boolean containsName(List<MyObject> list, String name) { return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent(); }</code>
Dalam contoh ini, kaedah containsName() mengambil senarai dan nama sasaran sebagai argumen. Ia mencipta aliran elemen senarai dan menapis sebarang objek yang kaedah getName()nya mengembalikan nilai yang berbeza daripada nama. Kaedah findFirst() digunakan untuk mendapatkan elemen padanan pertama, jika ada. Akhir sekali, isPresent() digunakan untuk menyemak sama ada elemen padanan ditemui.
Keupayaan Tambahan
Selain hanya menyemak kehadiran objek, strim menyediakan keupayaan tambahan:
Kesimpulan
Menggunakan aliran boleh meningkatkan kecekapan mencari objek dalam senarai berdasarkan nilai medan dengan ketara. Dengan memanfaatkan ungkapan lambda dan kaedah rantaian, kami boleh melakukan operasi yang kompleks dengan cara yang ringkas dan boleh dibaca.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Objek dalam Senarai Berdasarkan Nilai Medan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!