Menu
Coddy logo textTech

Unter- und Obermengen

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 33 von 59.

Eine Teilmenge ist eine Menge, in der jedes Element auch in einer anderen Menge enthalten ist. Eine Obermenge ist eine Menge, die alle Elemente einer anderen Menge enthält.

Zuerst zwei HashSets erstellen:

HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");

Verwenden Sie die containsAll()-Methode:

boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: true

Ähnlich ist setB eine Obermenge von setA, weil es jedes Element von setA enthält.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens <strong>checkSubsetSuperset</strong>, die zwei HashSets von Strings als Eingabe nimmt:

  • setA und setB

Die Methode sollte:

  1. Überprüfen Sie, ob setA eine Teilmenge von setB ist, unter Verwendung von containsAll(), und geben Sie aus:

    setA is a subset of setB: <true/false>
  2. Überprüfen Sie, ob setB eine Obermenge von setA ist (dies ist dieselbe Überprüfung), und geben Sie aus:

    setB is a superset of setA: <true/false>

Spickzettel

Eine Teilmenge ist eine Menge, in der jedes Element auch in einer anderen Menge enthalten ist. Eine Übermenge ist eine Menge, die alle Elemente einer anderen Menge enthält.

Verwenden Sie die containsAll()-Methode, um zu überprüfen, ob eine Menge eine Teilmenge einer anderen ist:

HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");

HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");

boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: true

Wenn setA eine Teilmenge von setB ist, dann ist setB eine Übermenge von setA.

Probier es selbst

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
        // Schreibe deinen Code hier
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lese JSON-String für setA (z. B. ["apple","banana"])
        String setAString = scanner.nextLine();
        // Lese JSON-String für setB (z. B. ["apple","banana","cherry"])
        String setBString = scanner.nextLine();
        
        Type setType = new TypeToken<HashSet<String>>(){}.getType();
        HashSet<String> setA = new Gson().fromJson(setAString, setType);
        HashSet<String> setB = new Gson().fromJson(setBString, setType);
        
        checkSubsetSuperset(setA, setB);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf