Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mencari Elemen Biasa Antara Dua Senarai dengan Cekap di Jawa?

Bagaimanakah Saya Boleh Mencari Elemen Biasa Antara Dua Senarai dengan Cekap di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-12-08 10:57:16
asal
240 orang telah melayarinya

How Can I Efficiently Find Common Elements Between Two Lists in Java?

Mendapatkan Elemen Biasa daripada Dua Senarai

Apabila bekerja dengan koleksi di Java, anda mungkin menghadapi situasi di mana anda perlu mencari elemen biasa yang dikongsi dengan berbilang senarai. Terdapat beberapa pendekatan yang boleh anda ambil untuk menyelesaikan tugas ini.

Menggunakan Collection#retainAll()

Kaedah Collection#retainAll() menyediakan penyelesaian yang mudah untuk mencari perkara biasa elemen. Ia mengemas kini senarai panggilan (listA) dengan mengalih keluar semua elemen yang tidak juga terkandung dalam koleksi yang ditentukan (listB). Ini hanya mengekalkan elemen biasa sahaja.

1

listA.retainAll(listB); // listA now contains only common elements

Salin selepas log masuk

Mencipta Senarai Baharu

Jika anda lebih suka mengekalkan senarai asal, anda boleh mencipta senarai baharu yang dipanggil biasa . Senarai ini pada mulanya diisi dengan elemen daripada listA, dan kemudian kaedah retainAll() digunakan untuk menapis elemen bukan biasa.

1

2

List<Integer> common = new ArrayList<>(listA);

common.retainAll(listB); // common now contains only common elements

Salin selepas log masuk

Menggunakan Stream#filter()

Bagi mereka yang menggemari strim, anda boleh memanfaatkan kaedah Stream#filter(). Pendekatan ini melibatkan pemeriksaan sama ada setiap elemen daripada listA terdapat dalam listB menggunakan Collection#contains(). Elemen yang memenuhi syarat ini ditambahkan pada senarai biasa.

1

List<Integer> common = listA.stream().filter(listB::contains).toList(); // common now contains only common elements

Salin selepas log masuk

Nota: Walaupun kaedah ini memberikan fleksibiliti, kaedah ini cenderung lebih perlahan daripada pendekatan lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Elemen Biasa Antara Dua Senarai dengan Cekap di Jawa?. 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