Menu
Coddy logo textTech

Wörterbücher modifizieren

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

HashMaps unterstützen auch das Entfernen von Schlüsseln und das Aktualisieren von ihnen mit den Methoden put(), remove() und replace().

Zum Beispiel füllen wir zuerst eine HashMap auf:

HashMap<String, String> users = new HashMap<>();
users.put("alice", "Admin");
users.put("bob", "User");

Um einen Schlüssel zu entfernen:

users.remove("bob"); // Removes "bob"
System.out.println(users);
// {alice=Admin}

Um einen Schlüssel zu aktualisieren:

users.replace("bob", "Guest");
// Updates bob to Guest

users.replace("Charlie", "Admin");
// Does nothing (key "Charlie" doesn't exist)
challenge icon

Aufgabe

Einfach

Schreibe eine Methode namens <strong>modifyMap</strong>, die eine gegebene HashMap basierend auf spezifischen Bedingungen modifiziert.

  1. Nimmt eine HashMap namens data, bei der:
    • Schlüssel sind vom Typ String.
    • Werte sind vom Typ Integer.
  2. Nimmt einen String key.
  3. Nimmt einen Integer newValue.

Die Methode sollte die aktualisierte HashMap unter Einhaltung Folgenden zurückgeben:

  • Wenn der Schlüssel in data existiert und denselben Wert wie newValue hat, verwende <strong>replace()</strong>, aber erhöhe den Wert um 1.
  • Wenn der Schlüssel existiert, aber einen anderen Wert hat, entferne ihn.
  • Wenn der Schlüssel nicht existiert, füge ihn mit <strong>newValue</strong> hinzu.

Spickzettel

HashMap-Methoden zum Ändern von Daten:

Einen Schlüssel entfernen:

users.remove("bob"); // Removes "bob" key-value pair

Einen Wert aktualisieren/ersetzen:

users.replace("alice", "Guest"); // Updates existing key
users.replace("nonexistent", "Admin"); // Does nothing if key doesn't exist

Einen Schlüssel hinzufügen oder aktualisieren:

users.put("newUser", "Admin"); // Adds new key or updates existing

Probier es selbst

// --- Module zum Konvertieren von HashMap-String zu HashMap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static HashMap<String, Integer> modifyMap(HashMap<String, Integer> data, String key, int newValue) {
        // Schreibe deinen Code hier
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String key = scanner.nextLine();
        int newValue = scanner.nextInt();

        // Konvertiere HashMap-String zu HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        HashMap<String, Integer> result = modifyMap(data, key, newValue);
        System.out.println(new Gson().toJson(result));
    }
}
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