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 und Aktualisieren von Einträgen unter Verwendung der put(), remove() und replace() Methoden.

Füllen wir zum Beispiel zuerst eine HashMap:

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

Um einen Schlüssel zu entfernen:

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

Um einen Schlüssel zu aktualisieren:

users.replace("alice", "Guest");
// Aktualisiert alice zu Guest

users.replace("Charlie", "Admin");
// Macht nichts (Schlüssel "Charlie" existiert nicht)
challenge icon

Aufgabe

Einfach

Schreiben Sie eine Methode namens <strong>modifyMap</strong>, die eine gegebene HashMap basierend auf bestimmten Bedingungen modifiziert.

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

Die Methode sollte die aktualisierte HashMap wie folgt zurückgeben:

  • Wenn der Schlüssel in data existiert und den gleichen Wert wie newValue hat, verwenden Sie <strong>replace()</strong>, aber erhöhen Sie den Wert um 1.
  • Wenn der Schlüssel existiert, aber einen anderen Wert hat, entfernen Sie ihn.
  • Wenn der Schlüssel nicht existiert, fügen Sie ihn mit <strong>newValue</strong> hinzu.

Probier es selbst

// --- Module zum Konvertieren eines Strings einer HashMap in eine 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 hier deinen Code
    }

    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 den String der HashMap in eine 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