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 mit den Methoden put(), remove() und replace().
Füllen wir zum Beispiel zunächst eine HashMap:
HashMap<String, String> users = new HashMap<>();
users.put("alice", "Admin");
users.put("bob", "User");So entfernst du einen Schlüssel:
users.remove("bob"); // Entfernt "bob"
System.out.println(users);
// {alice=Admin}So aktualisierst du einen Schlüssel:
users.replace("alice", "Guest");
// Aktualisiert alice zu Guest
users.replace("Charlie", "Admin");
// Bewirkt nichts (der Schlüssel "Charlie" existiert nicht)Aufgabe
EinfachSchreibe eine Methode namens modifyMap, die eine gegebene HashMap anhand bestimmter Bedingungen verändert.
- Sie erhält eine HashMap namens
data, wobei:- die Schlüssel vom Typ
Stringsind. - die Werte vom Typ
Integersind.
- die Schlüssel vom Typ
- Sie erhält einen String
key. - Sie erhält einen Integer
newValue.
Die Methode soll die aktualisierte HashMap wie folgt zurückgeben:
- Wenn der Schlüssel in
dataexistiert und denselben Wert wienewValuehat, verwendereplace(), 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
newValuehinzu.
Probier es selbst
// --- Module zum Umwandeln einer Zeichenkette mit 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 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();
// String mit einer HashMap in eine HashMap umwandeln
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