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)Aufgabe
EinfachSchreiben Sie eine Methode namens <strong>modifyMap</strong>, die eine gegebene HashMap basierend auf bestimmten Bedingungen modifiziert.
- Nimmt eine HashMap namens
dataentgegen, wobei:- Schlüssel vom Typ
Stringsind. - Werte vom Typ
Integersind.
- Schlüssel vom Typ
- Nimmt einen String
keyentgegen. - Nimmt einen Integer
newValueentgegen.
Die Methode sollte die aktualisierte HashMap wie folgt zurückgeben:
- Wenn der Schlüssel in
dataexistiert und den gleichen Wert wienewValuehat, 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));
}
}
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 - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung