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!