首頁 > Java > java教程 > 如何在Java中對ArrayList進行交集和並集運算?

如何在Java中對ArrayList進行交集和並集運算?

Mary-Kate Olsen
發布: 2024-12-17 21:10:24
原創
863 人瀏覽過

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

Java 中ArrayList 的交集和並集

問題:

如何進行交集與並集Java 中ArrayList 的操作?問題的延伸是關於 ArrayList 在集合論背景下對文件過濾的適用性。

答案:

ArrayList 不提供用於交集或交集的內建方法聯盟。下面提供了一個簡單的實作:

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);
    }
}
登入後複製

關於檔案過濾:

如果檔案數量比較少,使用ArrayLists進行檔案過濾比較合適。然而,對於較大的資料集,考慮更有效率的資料結構(如 HashSet 或 TreeSet)將有利於最佳化執行時間效能。

以上是如何在Java中對ArrayList進行交集和並集運算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板