Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memeriksa dengan Cekap sama ada Senarai Java Mengandungi Objek dengan Nilai Medan Tertentu?

Bagaimana untuk Memeriksa dengan Cekap sama ada Senarai Java Mengandungi Objek dengan Nilai Medan Tertentu?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 17:42:30779semak imbas

How to Efficiently Check if a Java List Contains an Object with a Specific Field Value?

Menyemak Senarai Java untuk Objek dengan Nilai Medan Tertentu dengan Cekap

Apabila bekerja dengan senarai Java, cekap menentukan sama ada senarai mengandungi objek dengan medan yang sepadan dengan tertentu nilai adalah penting untuk prestasi. Walaupun melelaran senarai dengan gelung mudah ialah pendekatan yang mudah, ia boleh menjadi tidak cekap, terutamanya apabila berurusan dengan gelung bersarang.

Memanfaatkan Strim

Strim yang diperkenalkan Java 8, memberikan aliran yang kuat dan ringkas cara mengendalikan manipulasi data. Untuk senario kami, strim menawarkan alternatif yang lebih cekap:

Menggunakan penapis dan findFirst:

<code class="java">public boolean containsName(List<MyObject> list, final String name) {
    return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent();
}</code>

Pendekatan ini menggunakan kaedah penapis untuk menapis senarai berdasarkan namakan kriteria dan kemudian gunakan findFirst untuk menentukan sama ada mana-mana elemen memenuhi syarat.

Menggunakan penapis dan anyMatch:

<code class="java">public boolean containsName(List<MyObject> list, final String name) {
    return list.stream().anyMatch(o -> name.equals(o.getName()));
}</code>

Kaedah anyMatch ialah alternatif kepada findFirst itu mengembalikan benar jika mana-mana elemen dalam strim memenuhi predikat.

Kesimpulan:

Strim menyediakan cara yang ringkas dan cekap untuk menyemak objek dengan nilai medan tertentu dalam senarai . Kaedah ini memanfaatkan keupayaan pengaturcaraan fungsi Java 8 untuk mengurangkan pembekuan kod dan meningkatkan prestasi, terutamanya apabila berurusan dengan gelung bersarang.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa dengan Cekap sama ada Senarai Java Mengandungi Objek dengan Nilai Medan Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn