Wat is een hashmap?

In de informatica is een hashmap of hashtabel een vorm van het structureren van gegevens zodat elk stuk gegevens is gekoppeld aan een uniek identificatienummer of symbool. Hiermee kunt u eenvoudig gegevens ophalen, met name uit een grote database met duizenden vermeldingen. De hashmap is geen specifiek onderdeel van het programma, maar verwijst eerder naar een vorm van gegevensorganisatie die elk item, in de database een sleutel genoemd, toewijst aan een waarde die voor dat item staat. De hash-functie is het gedeelte van het programma dat toetsen aan hun waarden koppelt.

Telefoonboeken zijn een uitstekend voorbeeld van een hashmap. De manier waarop het telefoonboek is ingedeeld, vertegenwoordigt de hashmap-structuur. Het richt zich op het koppelen van verschillende waarden aan elkaar en het koppelen van slechts één waarde aan een andere overeenkomstige term of telefoonnummer. De namen in het telefoonboek zijn de toetsen en de telefoonnummers zijn de bijbehorende waarden. Elke persoon in het boek krijgt een ander nummer en geen twee zijn hetzelfde.

Postbussen dienen ook als een metafoor voor de hashmap. Elke persoon heeft een sleutel tot een enkele doos. De doos kan meerdere stukjes informatie bevatten - biljetten, brieven, briefkaarten - allemaal bedoeld voor de persoon die de sleutel van de doos heeft. Wanneer de juiste sleutel in het juiste vak wordt geplaatst of eraan wordt gekoppeld, wordt deze geopend om de inhoud te onthullen.

Perfect functionerende hashmaps zouden één sleutel koppelen aan één "geheugenvak" in een computerdatabase. Helaas kan een factor bekend als hash-botsing optreden, waarbij twee sleutels naar hetzelfde vak gaan. Dit gebeurt wanneer een grote hoeveelheid gegevens wordt ingevoerd en er niet genoeg "vakken" zijn om het allemaal te kunnen verwerken.

In tegenstelling tot een telefoonboek of een postbus, bevatten hashmaps een derde element naast de sleutel en de bijbehorende waarde of box. Het bevat ook een hash-functie. Een persoon weet welke postbus van haar is, maar een computer moet worden verteld welke sleutel naar welke doos gaat. De hash-functie kijkt naar de sleutel, vertaalt deze in een reeks cijfers of code en koppelt deze aan het vak met de bijbehorende code. De naam van de sleutel, zoals 'Mary', is er alleen, dus het is gemakkelijker voor mensen om te interpreteren, terwijl de werkelijke code een reeks cijfers is die bedoeld is voor de computer om te lezen.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?