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Übe selbstständig: Online-Java-Compiler