Java Vector containsAll()-Methode

Java Vector Java Vector

containsAll()Die Methode ist in Java,Vectoreine von der Klasse bereitgestellte Sammlungsoperationsmethode, mit der überprüft wird, ob die aktuelleVectoralle Elemente der angegebenen Sammlung enthält. Sie istCollectioneine von der Schnittstelle geerbte Methode, implementiert in derVectorclass.

Syntaxformat

public boolean containsAll(Collection<?> c)

Methodenparameter

Parameter Type Beschreibung
c Collection<?> Die Sammlung von Elementen, die darauf überprüft werden soll, ob sie im aktuellen Vector enthalten sind

Rückgabewert

Diese Methode gibt einen booleschen Wert zurück:

  • truetrue: wenn der aktuelle Vector alle Elemente der angegebenen Sammlung enthält
  • falsefalse: wenn der aktuelle Vector nicht alle Elemente der angegebenen Sammlung enthält

Methodeneigenschaften

  1. Vollständige Enthaltensein-PrüfungGibt nur dann true zurück, wenn der Vector alle Elemente in der Sammlung enthält
  2. Umgang mit leerer SammlungWenn die übergebene Sammlung leer ist, gibt die Methode true zurück
  3. Reihenfolge der Elemente irrelevantDie Reihenfolge der Elemente in der Sammlung spielt keine Rolle
  4. Umgang mit doppelten ElementenBerücksichtigt die Anzahl der mehrfachen Vorkommen von Elementen

Anwendungsbeispiele

Beispiel 1: Grundlegende Verwendung

Beispiel

import java.util.Vector;
import java.util.Arrays;

public class VectorContainsAllExample {
    public static void main(String[] args) {
        // Vector erstellen
        Vector<String> vector = new Vector<>();
        vector.add("Apple");
        vector.add("Banana");
        vector.add("Orange");
        vector.add("Weintraube");
       
        // Eine Sammlung zum Überprüfen erstellen
        List<String> checkList = Arrays.asList("Apfel", "Banane");
       
        // Die Methode containsAll() verwenden
        boolean result = vector.containsAll(checkList);
       
        System.out.println("Enthält der Vector alle angegebenen Elemente? " + result);  // Ausgabe: true
    }
}

Beispiel 2: Teilweise Nicht-Enthaltensein

Beispiel

Vector<Integer> numbers = new Vector<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> checkNumbers = Arrays.asList(2, 6);

boolean result = numbers.containsAll(checkNumbers);
System.out.println(result);  // Ausgabe: false, weil 6 nicht im Vector ist

Beispiel 3: Fall einer leeren Sammlung

Beispiel

Vector<String> fruits = new Vector<>(Arrays.asList("Apple", "Banana"));
List<String> emptyList = new ArrayList<>();

boolean result = fruits.containsAll(emptyList);
System.out.println(result);  // Ausgabe: true, jede Sammlung enthält die leere Sammlung

Wichtige Hinweise

  1. LeistungsüberlegungenBei großen Sammlungen kann diese Methode O(n) Zeitkomplexität erfordern
  2. Umgang mit null:
    • Wenn der übergebene Collection-Parameter null ist, wird eine NullPointerException geworfen
    • Vector kann null-Elemente enthalten, und null-Elemente werden bei der Prüfung ebenfalls berücksichtigt
  3. GleichheitsbestimmungVerwendet die equals()-Methode des Elements, um das Enthaltensein zu bestimmen

Vergleich mit verwandten Methoden

Methode Beschreibung Unterschied zu containsAll()
contains() Prüft, ob ein einzelnes Element existiert Prüft nur ein einzelnes Element statt einer Sammlung
retainAll() Behält Elemente in der angegebenen Sammlung Verändert die ursprüngliche Sammlung
removeAll() Entfernt Elemente in der angegebenen Sammlung Verändert die ursprüngliche Sammlung

Praktische Anwendungsszenarien

  1. BerechtigungsprüfungÜberprüft, ob der Benutzer alle erforderlichen Berechtigungen besitzt
  2. Warenkorb-FunktionalitätPrüft, ob der Lagerbestand alle Artikel im Warenkorb enthält
  3. KursauswahlÜberprüft, ob der Student alle erforderlichen Kurse abgeschlossen hat

Beispiel

// Praktisches Anwendungsbeispiel: Berechtigungsprüfung
Vector<String> userPermissions = getUserPermissions();
Vector<String> requiredPermissions = getRequiredPermissions();

if (!userPermissions.containsAll(requiredPermissions)) {
    throw new SecurityException("Dem Benutzer fehlen die erforderlichen Berechtigungen");
}

Häufig gestellte Fragen

F1: Verändert die Methode containsAll() den ursprünglichen Vector?

A: Nein, containsAll() ist nur eine Abfragemethode und verändert den ursprünglichen Vector nicht.

F2: Wie funktioniert containsAll(), wenn der Vector doppelte Elemente enthält?

A: containsAll() prüft nur, ob Elemente vorhanden sind, nicht wie oft sie vorkommen. Solange jedes Element mindestens einmal vorkommt, gibt die Methode true zurück.

F3: Können Sammlungen unterschiedlicher Typen geprüft werden?

A: Ja, solange die Elementtypen kompatibel sind (vergleichbar über die Methode equals()).


Zusammenfassung

Vector.containsAll()Die Methode ist ein praktisches Hilfsmittel für Sammlungsoperationen, mit dem bequem geprüft werden kann, ob eine Sammlung eine Teilmenge einer anderen ist. Das Verständnis und die korrekte Verwendung dieser Methode können Entwicklern helfen, saubereren und effizienteren Code für Sammlungsoperationen zu schreiben.

Java Vector Java Vector

Andere Erweiterungen