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

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

Linda Hamilton
Lepaskan: 2024-12-07 04:06:18
asal
750 orang telah melayarinya

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

Mencari Elemen Sepunya dalam Dua Senarai

Dalam senario pengaturcaraan ini, kami menyasarkan untuk menentukan bilangan elemen sepunya antara dua senarai, bersama-sama dengan mengenal pasti kedua-dua yang serupa dan berbeza nilai.

Untuk mencapai ini, seseorang boleh menggunakan rangka kerja koleksi Java dan khususnya ArrayList atau kelas HashSet. Kaedah retainAll dalam ArrayList hanya mengekalkan item yang dikongsi oleh kedua-dua senarai, memberikan kiraan elemen biasa (tiga dalam kes ini).

Sebagai contoh:

import java.util.ArrayList;
import java.util.Arrays;

public class CompareLists {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga"));
        ArrayList<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"));

        list1.retainAll(list2);
        System.out.println(list1);
    }
}
Salin selepas log masuk

Sebagai alternatif, menggunakan HashSet untuk senarai kedua membolehkan perbandingan yang lebih cekap:

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

public class CompareLists {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga"));
        HashSet<String> list2 = new HashSet<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"));

        Set<String> common = new HashSet<>(list1);
        common.retainAll(list2);

        Set<String> unique = new HashSet<>(list1);
        unique.addAll(list2);
        unique.removeAll(common);

        System.out.println("Common: " + common);
        System.out.println("Distinct: " + unique);
    }
}
Salin selepas log masuk

Versi ini mengenal pasti kedua-dua biasa dan berbeza nilai, mengendalikan nilai berulang dengan berkesan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Elemen Biasa dan Berbeza dengan Cekap Antara Dua Senarai 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