Di Java, membandingkan dua senarai boleh dicapai melalui pelbagai kaedah dan struktur data. Artikel ini meneroka beberapa pendekatan untuk membandingkan senarai, memfokuskan pada mencari elemen yang serupa dan berbeza.
Kaedah ArrayList dan retainAll
Menggunakan ArrayList dan kaedah retainAll membolehkan anda untuk hanya mengekalkan unsur-unsur yang terkandung dalam kedua-duanya senarai.
import java.util.Collection; import java.util.ArrayList; public class ListComparison { public static void main(String[] args) { Collection<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta")); Collection<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo")); list1.retainAll(list2); System.out.println("Common elements: " + list1); } }
Kaedah HashSet dan removeAll
Jika anda perlu mencari bukan sahaja elemen biasa tetapi juga unsur yang berbeza, menggunakan HashSet dan kaedah removeAll ialah pendekatan yang sesuai. HashSet tidak membenarkan pendua, jadi ia boleh menghapuskan nilai berulang.
import java.util.Collection; import java.util.HashSet; public class ListComparison2 { public static void main(String[] args) { Collection<String> list1 = Arrays.asList("milan", "iga", "dingo", "iga", "elpha", "iga", "hafil", "iga", "meat", "iga", "neeta.peeta", "iga"); Collection<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"); Collection<String> common = new HashSet<>(list1); Collection<String> different = new HashSet<>(); different.addAll(list1); different.addAll(list2); common.retainAll(list2); different.removeAll(common); System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
Pendekatan Tersuai
Sebagai alternatif, anda boleh mencipta kaedah tersuai untuk membandingkan senarai dan kembalikan unsur biasa dan berbeza. Ini memberikan lebih banyak fleksibiliti dan pilihan penyesuaian.
public class CustomListComparison { public static void main(String[] args) { List<String> list1 = Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"); List<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo"); List<String> common = new ArrayList<>(); List<String> different = new ArrayList<>(); for (String element : list1) { if (list2.contains(element)) { common.add(element); } else { different.add(element); } } for (String element : list2) { if (!list1.contains(element)) { different.add(element); } } System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
Dengan memanfaatkan teknik ini, anda boleh membandingkan dua senarai dengan cekap dalam Java, mengenal pasti kedua-dua elemen biasa dan berbeza
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Dua Senarai di Java dengan Cekap untuk Mencari Kedua-dua Elemen Biasa dan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!