In diesem Handbuch werden mehrere Java -Methoden zum Vergleich von zwei Arraylisten untersucht. Erfolgreicher Vergleich erfordert, dass beide Listen die gleiche Größe haben und identische Elemente enthalten.
Methoden zum Vergleich von Arraylisten in Java
Es gibt mehrere Ansätze, um Arraylisten in Java zu vergleichen:
-
equals()
Methode -
removeAll()
Methode -
retainAll()
Methode -
contains()
Methode (innerhalb einer Schleife) -
contentEquals()
Methode (für String -Arraylisten) - direkter Element-Hinweis (mit Iteratoren oder Streams)
veranschaulichende Beispiele
veranschaulichen wir mit Beispielen:
Beispiel 1: Verwenden der equals()
-Methode
Dies ist der einfachste Ansatz zum Vergleich von Arraylisten mit denselben Objekttypen.
import java.util.*; public class ArrayListComparison { public static void main(String[] args) { ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list3 = new ArrayList<>(Arrays.asList(4, 3, 2, 1)); System.out.println("list1 equals list2: " + list1.equals(list2)); // true System.out.println("list1 equals list3: " + list1.equals(list3)); // false (order matters) } }
Beispiel 2: Identifizieren von Unterschieden mit removeAll()
und retainAll()
removeAll()
entfernt Elemente, die in einer anderen Liste vorhanden sind, während retainAll()
nur gemeinsame Elemente aufbewahrt. Diese Methoden helfen dabei, Unterschiede zu unterstreichen.
import java.util.*; public class ArrayListDifference { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("apple", "banana", "orange")); ArrayList<String> list2 = new ArrayList<>(Arrays.asList("banana", "grape", "orange")); ArrayList<String> diff1 = new ArrayList<>(list1); diff1.removeAll(list2); // Elements in list1 but not in list2 System.out.println("Elements only in list1: " + diff1); // [apple] ArrayList<String> common = new ArrayList<>(list1); common.retainAll(list2); // Common elements System.out.println("Common elements: " + common); // [banana, orange] } }
Beispiel 3: Elementwise-Vergleich mit Streams
Für komplexere Szenarien oder benutzerdefinierte Vergleichslogik bieten Streams Flexibilität.
import java.util.*; import java.util.stream.Collectors; public class ArrayListStreamComparison { public static void main(String[] args) { ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); boolean isEqual = list1.stream().allMatch(list2::contains); System.out.println("Lists are equal (using streams): " + isEqual); //true //Find elements present in list1 but not in list2 List<Integer> diff = list1.stream().filter(i -> !list2.contains(i)).collect(Collectors.toList()); System.out.println("Difference: " + diff); // [] } }
Algorithmus zum Vergleich von Arraylisten
- Überprüfen Sie die Größen: Stellen Sie sicher, ob beide Arraylisten die gleiche Größe haben. Wenn nicht, sind sie ungleich.
- iterieren und vergleichen Sie: durch die Elemente einer ArrayList iterieren. Überprüfen Sie für jedes Element, ob es in der anderen ArrayList mit
contains()
oder einer ähnlichen Methode vorliegt. - Handlungsreihenfolge: Überlegen Sie, ob Elementorder wichtig ist.
equals()
ist empfindlich gegenüber Ordnung. Wenn die Reihenfolge irrelevant ist, sortieren Sie beide Listen vor dem Vergleich. - Rückgabeergebnis: Wenn alle Elemente übereinstimmen (und die Reihenfolge berücksichtigt), return
true
; Ansonsten returnfalse
.
Schlussfolgerung
Mehrere Methoden ermöglichen den ArrayList -Vergleich in Java, jeweils mit seinen Stärken. Die Methode equals()
ist für einfache Vergleiche effizient, während die Unterschiede removeAll()
und retainAll()
hervorheben. Streams bieten Flexibilität für kompliziertere Vergleichsanforderungen. Wählen Sie den Ansatz aus, der für Ihre spezifischen Anforderungen und Komplexität am besten geeignet ist.
Das obige ist der detaillierte Inhalt vonVergleiche zwei ArrayList in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 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 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 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]

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


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

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver CS6
Visuelle Webentwicklungstools

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung