Das Verständnis der Klasse HashMap ist für Entwickler sowohl in realen Anwendungen als auch in Interviews von entscheidender Bedeutung. In diesem Beitrag erfahren Sie, wie Sie Schlüssel-Wert-Paare in eine HashMap einfügen, aktualisieren und verwalten. Dieses Wissen wird auch die Grundlage für unseren nächsten Artikel bilden, in dem wir uns mit HashSet befassen und sehen, wie die beiden Sammlungen zusammenhängen.
Eine HashMap speichert Daten als Schlüssel-Wert-Paare und ermöglicht so effiziente Suchvorgänge, Aktualisierungen und Löschungen. Hier sind einige wichtige Merkmale:
Lassen Sie uns diese Verhaltensweisen anhand von Codeausschnitten genauer untersuchen.
Die put()-Methode fügt der Karte ein Schlüssel-Wert-Paar hinzu. Wenn der Schlüssel jedoch bereits vorhanden ist, wird der alte Wert ersetzt.
Mapmap = new HashMap(); // Insert two key-value pairs map.put(1, 2); map.put(2, 3);
Erläuterung:
Hier fügen wir zwei Einträge ein:
Was passiert nun, wenn wir versuchen, einen neuen Wert mit demselben Schlüssel einzufügen?
// Replacing an existing value map.put(2, 4); // Key 2 already exists, so the value is replaced.
Der Schlüssel 2 existierte bereits mit dem Wert 3, aber wenn wir put(2, 4) aufrufen, ersetzt der neue Wert 4 den alten. Dies ist das Standardverhalten von HashMap.
In vielen Situationen möchten Sie möglicherweise nicht, dass Werte ersetzt werden, wenn ein Schlüssel bereits vorhanden ist – dies kann zu Datenverlust führen, wenn nicht sorgfältig damit umgegangen wird. In solchen Fällen können wir die Methode putIfAbsent() verwenden.
// Ensuring value isn't replaced if key exists map.putIfAbsent(2, 5);
Die Methode putIfAbsent() fügt nur dann einen Wert ein, wenn der angegebene Schlüssel in der Karte nicht bereits vorhanden ist. Da Schlüssel 2 bereits mit dem Wert 4 verknüpft ist, hat der Methodenaufruf hier keine Auswirkung.
System.out.println(map); // Output: {1=2, 2=4}
Die Ausgabe zeigt, dass Schlüssel 2 den Wert 4 behält, da putIfAbsent() den vorhandenen Wert nicht überschrieben hat.
Die HashMap-Klasse ist in Java ein leistungsstarkes Tool zum Speichern von Schlüssel-Wert-Paaren, es ist jedoch wichtig, ihr Verhalten bei doppelten Schlüsseln zu verstehen. Wenn Sie wissen, wann put() im Vergleich zu putIfAbsent() zu verwenden ist, können Sie Datenverluste vermeiden und effizienten Code schreiben. Mit einer durchschnittlichen Zeitkomplexität von O(1) für grundlegende Vorgänge ist HashMap die erste Wahl für viele leistungskritische Aufgaben.
Seien Sie gespannt auf den nächsten Beitrag, in dem wir uns mit HashSet befassen und erfahren, wie es mithilfe einer HashMap intern die Einzigartigkeit gewährleistet!
Java-Grundlagen
Array Interview Essentials
Java Memory Essentials
Viel Spaß beim Codieren!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3