kostenloser Webspace werbefrei: lima-city


Wie kann ich mir ein Hashmap vorstellen?

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    barsbuetteler-sv-2001

    barsbuetteler-sv-2001 hat kostenlosen Webspace.

    Guten Abend,

    ich bin an den Anfängen der Java- Programmierung und bin nun dem Hashmap über den Weg gelaufen ;)

    Was genau kann ich mir darunter vorstellen, gibt es ein Besipiel, womit das gut erklärt werden kann?


    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich versuche mich kurz zu fassen:

    Eine HashMap tut wie der Name schon sagt 2 Dinge: Eine Verwaltung von Objekten über Hashes und das Mapping von einem Schlüssel zu einem Wert.

    Nehmen wir mal an du hast verschiedene Städte und möchstest dir zu diesen Städten die aktuellen Temperaturen speichern. Dann hast du Einträge wie

    Berlin: 10 Grad
    Hamburg: 12 Grad
    München: 14 Grad
    Köln: 16 Grad

    Du hast also eine Zuordnung Stadt->Temperatur. So etwas kann man prima in einer Map speichern.

    Bei Computerprogrammen ist natürlich auch oft die Geschwindigkeit wichtig. Wenn wir beispielsweise für alle Orte dieser Welt die Temperatur speichern wollen, würde es ja eigentlich sehr lange dauern, bis man einen bestimmten Eintrag gefunden hätte. Daher verwendet man Hashing, um schnell von einer Anfrage/Schlüssel/Objekt zu dem entsprechendem Eintrag kommt.

    Eine Hashfunktion ist eine beliebige mathematische Funktion, die einen Index berechnet. An diesem Index sortiert man dann einen Eintrag weg. Wenn man beispielsweise hash("Berlin") sagt, könnte die Funktion den Wert 42 berechnen. Dann packt man die Temperatur für Berlin an die 42. Stelle im Speicher von der Hashmap. Dann findet man den Eintrag später auch viel schneller wieder, weil man nur den Hash berechnen muss und nicht alle Orte im Speicher von der Hashmap durchsuchen muss.

    Beim Hashing gibt es das Problem, dass es zu Kollisionen kommen kann. Wenn Beispielsweise Stadt A den gleichen Hash hat wie Stadt B müssten sie beide am gleichen Speicherort abgelegt werden. Aber dafür gibt es weiter Lösungen, die ich hier nicht weitere ausführen will.
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!