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 kannst du sie berechnen, indem du:
- Die Differenz der ersten Menge in Bezug auf die zweite finden.
- Die Differenz der zweiten Menge in Bezug auf die erste bestimmen.
- Diese beiden Differenzen kombinieren.
Erstelle 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);Berechne als Nächstes 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]Kombiniere als Nächstes die beiden Differenzen:
diff1.addAll(diff2); // diff1 ist [1, 4]Aufgabe
EinfachErstelle eine Methode namens symmetricDifference, die zwei HashSets von Ganzzahlen als Eingabe erhält, ihre symmetrische Differenz berechnet und sie in folgendem 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 die erste Menge ein (z. B. [1,2,3])
String set1String = scanner.nextLine();
// Lies den JSON-String für die zweite Menge ein (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);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap5HashSet Teil 2
Mathematik - Vereinigung von HashSetsMathematik - Schnittmenge von HashSetsMathematik - Mengen-DifferenzMathematik - Symmetrische DifferenzUnter- und ObermengenIterieren über Mengen3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitungÜbe selbstständig: Online-Java-Compiler