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
Lepaskan: 2024-12-17 21:10:24
asal
878 orang telah melayarinya

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);
    }
}
Salin selepas log masuk

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!

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