Heim >Java >javaLernprogramm >Wie führe ich Schnitt- und Vereinigungsoperationen für Array-Listen in Java durch?

Wie führe ich Schnitt- und Vereinigungsoperationen für Array-Listen in Java durch?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-17 21:10:24830Durchsuche

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

Array-Listen in Java schneiden und vereinen

Frage:

Wie man Schnitt- und Vereinigungsvorgänge durchführt Operationen auf ArrayLists in Java? Die Erweiterung der Frage betrifft die Anwendbarkeit von ArrayLists für die Dateifilterung im Kontext der Mengenlehre.

Antwort:

ArrayLists bieten keine integrierten Methoden für Schnittmengen oder Union. Nachfolgend finden Sie eine einfache Implementierung:

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);
    }
}

Bezüglich der Dateifilterung:

Die Verwendung von ArrayLists für die Dateifilterung ist geeignet, wenn die Anzahl der Dateien relativ gering ist. Bei größeren Datensätzen wäre es jedoch für eine optimierte Laufzeitleistung von Vorteil, eine effizientere Datenstruktur wie ein HashSet oder TreeSet in Betracht zu ziehen.

Das obige ist der detaillierte Inhalt vonWie führe ich Schnitt- und Vereinigungsoperationen für Array-Listen in Java durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn