Was ist eine Hashmap?
In der Informatik ist eine Hashmap oder Hash-Tabelle eine Form der Strukturierung von Daten, sodass jedes Datenelement mit einer eindeutigen Identifikationsnummer oder einem eindeutigen Symbol verknüpft ist. Dies ermöglicht ein einfaches Abrufen, insbesondere aus einer großen Datenbank mit Tausenden von Einträgen. Die Hashmap ist kein spezifischer Teil des Programms, sondern bezieht sich auf eine Form der Datenorganisation, bei der jedem Element, das als Schlüssel bezeichnet wird, in der Datenbank ein Wert zugewiesen wird, der für dieses Element steht. Die Hash-Funktion ist der Teil des Programms, der die Schlüssel mit ihren Werten verknüpft.
Telefonbücher sind ein hervorragendes Beispiel für eine Hashmap. Die Anordnung des Telefonbuchs entspricht der Hashmap-Struktur. Es konzentriert sich darauf, verschiedene Werte miteinander zu verknüpfen und nur einen Wert mit einem anderen entsprechenden Begriff oder einer Telefonnummer zu verknüpfen. Die Namen im Telefonbuch sind die Schlüssel und die Telefonnummern sind die ihnen zugeordneten Werte. Jeder Person im Buch wird eine andere Nummer zugewiesen und keine zwei sind gleich.
Postfächer dienen auch als Metapher für die Hashmap. Jede Person hat einen Schlüssel für eine einzelne Box. Die Schachtel kann mehrere Informationen enthalten - Rechnungen, Briefe, Postkarten -, die alle für die Person bestimmt sind, die den Schlüssel für die Schachtel besitzt. Wenn der richtige Schlüssel in das richtige Feld eingefügt oder mit diesem übereinstimmt, wird es geöffnet, um seinen Inhalt anzuzeigen.
Perfekt funktionierende Hashmaps würden einen Schlüssel mit einer "Speicherbox" in einer Computerdatenbank verknüpfen. Leider kann ein als Hash-Kollision bekannter Faktor auftreten, bei dem zwei Schlüssel zu derselben Box gehören. Dies geschieht, wenn eine große Datenmenge eingegeben wird und nicht genügend "Felder" vorhanden sind, um alle Daten aufzunehmen.
Im Gegensatz zu einem Telefonbuch oder einem Postfach enthalten Hashmaps ein drittes Element neben dem Schlüssel und dem Wert oder der Box, mit dem bzw. der es übereinstimmt. Es enthält auch eine Hash-Funktion. Eine Person weiß, welches Postfach ihr gehört, aber einem Computer muss mitgeteilt werden, welcher Schlüssel zu welchem Postfach gehört. Die Hash-Funktion überprüft den Schlüssel, übersetzt ihn in eine Reihe von Zahlen oder Codes und verknüpft ihn mit dem Feld, das den entsprechenden Code enthält. Der Name des Schlüssels, wie "Mary", ist nur dort, damit die Leute ihn leichter interpretieren können, während der eigentliche Code eine Folge von Zahlen ist, die der Computer lesen kann.