HashMap



  • Hallo,

    ich möchte einer HashMap ein Key->Value Paar zuweisen welches schon existiert. Wie erkennt das die map ?? Sagen wir die map hat schon 100 Mio Werte...



  • Die geht einfach nachgucken 💡



  • Aus dem Key wird ein Hash-Wert x berechnet, das ist normalerweise eine natürliche Zahl kleiner als X. Die Hashmap guckt dann ob an der Stelle x der Key schon existiert.



  • Ok. Für die Hashmap besteht der Zeitaufwand also nur daraus , dass Sie den Hashwert berechnen muss.

    In einer Liste gibt es ja keinen key sondern nur values. Jetzt will ich dieser Liste Werte hinzufügen und nicht jedesmal guggn ob der Wert schon existiert. Klug wäre es doch auch in diesem Fall eine map zu verwenden. Der value der map wird null gesetzt und ich speicher den Wert praktisch im Key ab.

    In Java gibt es hierfür z.B. die map.containskey() Methode.

    Was denkt ihr ist das besser als eine Liste zu verwenden und dann mit einer Schleife mühsam zu prüfen ob es den Wert schon gibt ?



  • Für die Hashmap besteht der Zeitaufwand also nur daraus , dass Sie den Hashwert berechnen muss.

    Nicht nur nein, das nachschauen braucht auch etwas bei großen Datenmengen... Geht aber deutlich schneller als manuell alle Einträge zu überprüfen.

    Was denkt ihr ist das besser als eine Liste zu verwenden und dann mit einer Schleife mühsam zu prüfen ob es den Wert schon gibt

    Nein. Es sei denn du willst ne extrem miese Performace 😃
    Für eine gute die Hashmap nehmen.


Anmelden zum Antworten