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.
listA.retainAll(listB); // listA now contains only common elements
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.
List<Integer> common = new ArrayList<>(listA); common.retainAll(listB); // common now contains only common elements
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.
List<Integer> common = listA.stream().filter(listB::contains).toList(); // common now contains only common elements
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!