Rumah >Java >javaTutorial >Bagaimana untuk Cekap Menentukan Kehadiran Objek dalam Senarai Berdasarkan Nilai Medan di Jawa?
Dengan Cekap Menentukan Kehadiran Objek dalam Senarai Berdasarkan Nilai Medan
Apabila bekerja dengan objek kompleks yang disimpan dalam Senarai, ia menjadi perlu untuk memastikan kehadiran mereka berdasarkan nilai bidang tertentu. Walaupun kaedah tradisional melibatkan gelung berulang, Java menawarkan alternatif yang lebih cekap.
Menggunakan Strim
Java 8 memperkenalkan strim, mekanisme yang berkuasa untuk memproses koleksi. Menggunakan strim, anda boleh menyemak kehadiran objek seperti berikut:
<code class="java">public boolean containsName(final List<MyObject> list, final String name){ return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent(); }</code>
Di sini, strim ditapis untuk memilih objek yang kaedah getName() mengembalikan nilai nama yang diingini. Operasi findFirst() mengembalikan pilihan, dan semakan isPresent() mengesahkan statusnya yang tidak kosong, menunjukkan kehadiran objek dalam senarai.
Pendekatan aliran alternatif:
<code class="java">public boolean containsName(final List<MyObject> list, final String name){ return list.stream().anyMatch(o -> name.equals(o.getName())); }</code>
The kaedah anyMatch kembali benar jika mana-mana elemen dalam senarai sepadan dengan predikat yang ditentukan (perbandingan nilai medan).
Contoh Penggunaan
Kaedah ini boleh digunakan untuk melaksanakan operasi bersyarat:
<code class="java">public void perform(final List<MyObject> list, final String name){ list.stream().filter(o -> o.getName().equals(name)).forEach( o -> { // Perform operations on matching objects } ); }</code>
Dengan menggunakan strim, anda boleh menyemak kehadiran objek dengan cekap dalam senarai berdasarkan nilai medan, mengoptimumkan prestasi kod dan kebolehselenggaraan.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Menentukan Kehadiran Objek dalam Senarai Berdasarkan Nilai Medan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!