Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Membandingkan Dua Senarai dengan Cekap di Java untuk Mencari Elemen Dikongsi dan Unik?

Bagaimanakah Saya Boleh Membandingkan Dua Senarai dengan Cekap di Java untuk Mencari Elemen Dikongsi dan Unik?

Linda Hamilton
Lepaskan: 2024-12-03 01:05:13
asal
596 orang telah melayarinya

How Can I Efficiently Compare Two Lists in Java to Find Shared and Unique Elements?

Java Compare Two List

Membandingkan dua senarai untuk menentukan bilangan elemen yang dikongsi dan mengenal pasti kedua-dua item yang serupa dan berbeza boleh dicapai menggunakan Koleksi Java.

Untuk menentukan elemen yang dikongsi dengan cekap, pertimbangkan untuk menggunakan kaedah retainAll, yang mengubah suai senarai pertama untuk mengandungi sahaja unsur-unsur yang terdapat dalam kedua-dua senarai. Contohnya, diberikan dua senarai "milan" dan "hafil", operasi retainAll akan mengubah suai satu senarai untuk mengandungi hanya "milan".

Untuk mendapatkan kedua-dua elemen yang serupa dan berbeza, anda boleh menggunakan Set. Kaedah removeAll boleh digunakan untuk mengecualikan sebarang elemen daripada Set yang tidak dikongsi antara senarai. Set yang terhasil akan mengandungi elemen yang serupa, manakala elemen yang berbeza boleh diperoleh dengan mengira gabungan kedua-dua senarai dan seterusnya mengecualikan elemen yang serupa.

Berikut ialah coretan kod sampel menggunakan Set sebagai perbandingan:

import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;

class Repeated {
    public static void main(String[] args) {
        Collection<String> listOne = Arrays.asList("milan", "iga", "dingo", "elpha", "hafil", "meat", "neeta.peeta");
        Collection<String> listTwo = Arrays.asList("hafil", "iga", "binga", "mike", "dingo");

        Collection<String> similar = new HashSet<>(listOne);
        Collection<String> different = new HashSet<>();
        different.addAll(listOne);
        different.addAll(listTwo);

        similar.retainAll(listTwo);
        different.removeAll(similar);

        System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
    }
}
Salin selepas log masuk

Output:

One:[milan, iga, dingo, elpha, hafil, meat, neeta.peeta]
Two:[hafil, iga, binga, mike, dingo]
Similar:[dingo, iga, hafil]
Different:[mike, binga, milan, meat, elpha, neeta.peeta]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Dua Senarai dengan Cekap di Java untuk Mencari Elemen Dikongsi dan Unik?. 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