Rumah > Java > javaTutorial > teks badan

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

Patricia Arquette
Lepaskan: 2024-11-01 17:42:30
asal
794 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!