Rumah >Java >javaTutorial >Bagaimana untuk Melakukan Operasi Persimpangan dan Kesatuan pada ArrayLists di Java?

Bagaimana untuk Melakukan Operasi Persimpangan dan Kesatuan pada ArrayLists di Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 21:10:24907semak imbas

How to Perform Intersection and Union Operations on ArrayLists in Java?

Bersilang dan Menyatukan ArrayList dalam Java

Soalan:

Cara melakukan persilangan dan kesatuan operasi pada ArrayLists di Java? Sambungan kepada soalan adalah mengenai kebolehgunaan ArrayLists untuk penapisan fail dalam konteks teori set.

Jawapan:

ArrayLists tidak menawarkan kaedah terbina dalam untuk persilangan atau kesatuan. Pelaksanaan yang mudah disediakan di bawah:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ArrayListOperations {

    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>(Arrays.asList("A", "B", "C"));
        List<String> list2 = new ArrayList<>(Arrays.asList("B", "C", "D", "E", "F"));

        System.out.println(intersection(list1, list2));
        System.out.println(union(list1, list2));
    }

    public static <T> List<T> intersection(List<T> list1, List<T> list2) {
        List<T> list = new ArrayList<>();

        for (T t : list1) {
            if (list2.contains(t)) {
                list.add(t);
            }
        }

        return list;
    }

    public static <T> List<T> union(List<T> list1, List<T> list2) {
        Set<T> set = new HashSet<>();

        set.addAll(list1);
        set.addAll(list2);

        return new ArrayList<>(set);
    }
}

Mengenai Penapisan Fail:

Menggunakan ArrayLists untuk penapisan fail adalah sesuai jika bilangan fail agak kecil. Walau bagaimanapun, untuk set data yang lebih besar, mempertimbangkan struktur data yang lebih cekap seperti HashSet atau TreeSet akan bermanfaat untuk prestasi masa jalan yang dioptimumkan.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Operasi Persimpangan dan Kesatuan pada ArrayLists di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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