Menu
Coddy logo textTech

Zusammenfassung - HashSet

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

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens processHashSet, die drei Argumente entgegennimmt:

  1. Ein HashSet von Objekten (set)
  2. Ein Objekt (input), das verarbeitet werden soll
  3. Einen String (operation), der die auszuführende Operation angibt

Die Methode sollte verschiedene Operationen unter Verwendung von Konzepten aus Advanced Control Flow durchführen:

Operationen (unter Verwendung von Switch Expression):

  • "add": Fügen Sie input zum Set hinzu und geben Sie eine Erfolgs-/Fehlermeldung zurück
  • "remove": Entfernen Sie input aus dem Set und geben Sie eine Erfolgs-/Fehlermeldung zurück
  • "find": Suchen Sie nach input im Set unter Verwendung von Label-Statements
  • "count": Zählen Sie Elemente vom Typ Integer unter Verwendung von instanceof

Verwenden Sie Guard Clauses, um Eingaben zu validieren und Fehler zu behandeln:

  • Wenn set null ist: geben Sie "Invalid set" zurück
  • Wenn operation ungültig ist: geben Sie "Invalid operation" zurück
  • Für die "find" Operation, wenn input null ist: geben Sie "Cannot find null" zurück

Probier es selbst

import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;

public class Main {
    public static String processHashSet(HashSet<Object> set, Object input, String operation) {
        // Schreiben Sie hier Ihren Code
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Das initiale Set einlesen
        String[] items = scanner.nextLine().split(",");
        HashSet<Object> set = new HashSet<>();
        if (!items[0].equals("empty")) {
            for (String item : items) {
                // Zuerst versuchen, als Ganzzahl zu parsen
                try {
                    set.add(Integer.parseInt(item));
                } catch (NumberFormatException e) {
                    set.add(item);
                }
            }
        }
        
        // Eingabe einlesen
        String inputStr = scanner.nextLine();
        Object input;
        try {
            input = Integer.parseInt(inputStr);
        } catch (NumberFormatException e) {
            input = inputStr;
        }
        
        // Operation einlesen
        String operation = scanner.nextLine();
        
        System.out.println(processHashSet(set, input, operation));
    }
}

Alle Lektionen in Logik & Ablauf