Verwendung von containsKey()
zur Schlüsselprüfung
In diesem Schritt lernen wir, wie man mithilfe der Methode containsKey()
prüft, ob ein bestimmter Schlüssel in einer HashMap
vorhanden ist. Dies ist eine grundlegende Operation beim Arbeiten mit Maps und hilft Ihnen, Fehler zu vermeiden, die auftreten können, wenn Sie versuchen, auf einen nicht vorhandenen Schlüssel zuzugreifen.
Eine HashMap
ist eine Datenstruktur in Java, die Schlüssel-Wert-Paare speichert. Stellen Sie sich dies wie ein Wörterbuch vor, bei dem jedes Wort (der Schlüssel) eine Definition (der Wert) hat. Die Methode containsKey()
ist wie die Frage an das Wörterbuch: "Hast du einen Eintrag für dieses bestimmte Wort?"
Lassen Sie uns ein einfaches Java-Programm erstellen, um zu zeigen, wie man containsKey()
verwendet.
-
Öffnen Sie die Datei HelloJava.java
im WebIDE-Editor. Wenn Sie das vorherige Lab abgeschlossen haben, sollte diese Datei bereits im Verzeichnis ~/project
vorhanden sein.
-
Ersetzen Sie den vorhandenen Code in HelloJava.java
durch folgenden Code:
import java.util.HashMap;
public class HelloJava {
public static void main(String[] args) {
// Create a HashMap
HashMap<String, String> userMap = new HashMap<>();
// Add some key-value pairs
userMap.put("alice", "Alice Smith");
userMap.put("bob", "Bob Johnson");
userMap.put("charlie", "Charlie Brown");
// Check if a key exists using containsKey()
String keyToCheck1 = "alice";
String keyToCheck2 = "david";
System.out.println("Checking for key: " + keyToCheck1);
if (userMap.containsKey(keyToCheck1)) {
System.out.println("Key '" + keyToCheck1 + "' exists in the map.");
} else {
System.out.println("Key '" + keyToCheck1 + "' does not exist in the map.");
}
System.out.println("\nChecking for key: " + keyToCheck2);
if (userMap.containsKey(keyToCheck2)) {
System.out.println("Key '" + keyToCheck2 + "' exists in the map.");
} else {
System.out.println("Key '" + keyToCheck2 + "' does not exist in the map.");
}
}
}
Schauen wir uns die neuen Teile dieses Codes an:
import java.util.HashMap;
: Diese Zeile importiert die HashMap
-Klasse, die wir benötigen, um HashMaps zu verwenden.
HashMap<String, String> userMap = new HashMap<>();
: Diese Zeile erstellt eine neue HashMap
, bei der sowohl die Schlüssel als auch die Werte vom Typ String
sind.
userMap.put("alice", "Alice Smith");
: Dies fügt ein Schlüssel-Wert-Paar zur Map hinzu. Der Schlüssel ist "alice"
und der Wert ist "Alice Smith"
.
userMap.containsKey(keyToCheck1)
: Dies ist der Kern dieses Schritts. Die Methode containsKey()
nimmt einen Schlüssel als Argument entgegen und gibt true
zurück, wenn der Schlüssel in der Map gefunden wird, und false
sonst.
-
Speichern Sie die Datei HelloJava.java
(Strg+S oder Cmd+S).
-
Kompilieren Sie jetzt das Programm mit dem Befehl javac
im Terminal:
javac HelloJava.java
Wenn keine Fehler auftreten, sehen Sie keine Ausgabe.
-
Führen Sie schließlich das kompilierte Programm mit dem Befehl java
aus:
java HelloJava
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Checking for key: alice
Key 'alice' exists in the map.
Checking for key: david
Key 'david' does not exist in the map.
Diese Ausgabe bestätigt, dass containsKey()
korrekt erkannt hat, ob die Schlüssel "alice"
und "david"
in unserer userMap
vorhanden waren.