


Schnittpunkte und Vereinigungen von Array-Listen in Java finden
Bei der Arbeit mit Array-Listen ist es oft notwendig, den Schnittpunkt oder die Vereinigung von zwei oder zwei zu finden weitere Listen. Dies kann für Aufgaben wie das Filtern von Dateien oder das Kombinieren von Daten aus mehreren Quellen nützlich sein.
Schnitt- und Vereinigungsmethoden
Java bietet mehrere Methoden zum Durchführen von Schnittmengen und Vereinigungen auf ArrayLists :
-
retainAll(Collection
c): Behält nur die Elemente in dieser Liste, die in der angegebenen Sammlung enthalten sind. -
removeAll(Collection
c): Entfernt alle Elemente in dieser Liste, die in der angegebenen Sammlung enthalten sind Sammlung. -
addAll(Collection
c): Fügt alle Elemente in der angegebenen Sammlung hinzu zu dieser Liste hinzufügen.
Diese Methoden ändern die ursprünglichen ArrayLists, was möglicherweise nicht in allen Fällen wünschenswert ist. Alternativ können Sie Ihre eigenen Methoden implementieren, um Schnittmengen und Vereinigungen zu verarbeiten, ohne die ursprünglichen Listen zu ändern:
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); }</t></t></t></t></t></t></t></t></t></t>
Alternative Datenstrukturen
Eine ArrayList ist eine veränderbare Datenstruktur das erlaubt doppelte Elemente. Für Mengenoperationen können Sie die Verwendung einer anderen Datenstruktur in Betracht ziehen:
- Satz: Ein Satz garantiert automatisch, dass Elemente eindeutig sind. Die Reihenfolge der Elemente wird jedoch nicht beibehalten.
- SortedSet: Ein sortierter Satz verwaltet die Elemente in sortierter Reihenfolge, was für einige Anwendungen nützlich sein kann.
Durch Auswahl der geeigneten Datenstruktur für Ihre Aufgabe können Sie die Laufzeit und Speichernutzung Ihres Codes optimieren.
Das obige ist der detaillierte Inhalt vonWie kann ich den Schnittpunkt und die Vereinigung von Array-Listen in Java effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In diesem Artikel wird die Integration der funktionalen Programmierung in Java unter Verwendung von Lambda -Ausdrücken, Streams -API, Methodenreferenzen und optional untersucht. Es zeigt Vorteile wie eine verbesserte Lesbarkeit der Code und die Wartbarkeit durch SUKTIVE UND VERUSNAHMETALITÄT

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In diesem Artikel werden die NIO-API von Java für nicht blockierende E/A erläutert, wobei Selektoren und Kanäle verwendet werden, um mehrere Verbindungen effizient mit einem einzelnen Thread zu verarbeiten. Es beschreibt den Prozess, die Vorteile (Skalierbarkeit, Leistung) und mögliche Fallstricke (Komplexität,

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In diesem Artikel wird die Socket-API von Java für die Netzwerkkommunikation beschrieben, die das Setup des Client-Servers, die Datenbearbeitung und entscheidende Überlegungen wie Ressourcenverwaltung, Fehlerbehandlung und Sicherheit abdeckt. Es untersucht auch die Leistungsoptimierungstechniken, ich


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung