Menu
Coddy logo textTech

Mathematik - Symmetrische Differenz

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

Die symmetrische Differenz zweier Mengen ist eine neue Menge, die Elemente enthält, die in einer der beiden Mengen, aber nicht in beiden enthalten sind. In Java können Sie diese wie folgt berechnen:

  1. Ermitteln der Differenz der ersten Menge in Bezug auf die zweite.
  1. Ermitteln der Differenz der zweiten Menge in Bezug auf die erste.
  1. Kombination dieser beiden Unterschiede.

Erstellen Sie zuerst zwei HashSets:

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);

HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);

Als Nächstes berechnen Sie jede einseitige Differenz:

HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2);  // diff1 ist [1]
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1);  // diff2 ist [4]

Kombinieren Sie als Nächstes die beiden Differenzen:

diff1.addAll(diff2);  // diff1 ist [1, 4]
challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens <strong>symmetricDifference</strong>, die zwei HashSets von Ganzzahlen als Eingabe entgegennimmt, deren symmetrische Differenz berechnet und diese im folgenden Format ausgibt:

Symmetric Difference: [elements]

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 symmetricDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
        // Schreibe deinen Code hier
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lies den JSON-String für das erste Set (z. B. [1,2,3])
        String set1String = scanner.nextLine();
        // Lies den JSON-String für das zweite Set (z. B. [2,3,4])
        String set2String = scanner.nextLine();

        Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
        HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
        HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);

        symmetricDifference(set1, set2);
    }
}
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