Wat is een hashmap?
In de informatica is een hashmap- of hash -tabel een vorm van het structureren van gegevens zodat elk stuk gegevens is gekoppeld aan een uniek identificatienummer of symbool. Dit maakt eenvoudig ophalen mogelijk, vooral uit een grote database met duizenden inzendingen. De hashmap is geen specifiek onderdeel van het programma, maar verwijst eerder naar een vorm van gegevensorganisatie die elk item, bekend als een sleutel, in de database toewijst aan een waarde die voor dat item staat. De hash -functie is het deel van het programma dat sleutels aan hun waarden koppelt.
Telefoonboeken dienen als een uitstekend voorbeeld van een hashmap. De manier waarop het telefoonboek is ingedeeld, vertegenwoordigt de hashmap -structuur. Het richt zich op het aan elkaar koppelen van verschillende waarden en het koppelen van slechts één waarde aan een andere overeenkomstige term of telefoonnummer. De namen in het telefoonboek zijn de sleutels en de telefoonnummers zijn de waarden die erbij zijn gekoppeld. Elke persoon in het boek krijgt een ander nummer toegewezen en geen twee zijn hetzelfde.
Postbakken dienen ook alsEen metafoor voor de hashmap. Elke persoon heeft een sleutel tot één doos. De doos kan meerdere stukjes informatie bevatten - rekeningen, letters, ansichtkaarten - allemaal bedoeld voor de persoon die de sleutel tot het vak heeft. Wanneer de juiste sleutel wordt ingevoegd in of overeenkomen met de juiste doos, wordt geopend om de inhoud ervan te onthullen.
Perfect functionerende hashmaps zou een sleutel koppelen aan één geheugen "vakje" in een computerdatabase. Helaas kan een factor die bekend staat als hash -botsing optreden, waarbij twee sleutels naar dezelfde doos gaan. Dit gebeurt wanneer een grote hoeveelheid gegevens wordt ingevoerd en er niet genoeg "dozen" zijn om het allemaal tegemoet te komen.
In tegenstelling tot een telefoonboek of een postbus, bevatten hashmaps een derde element naast de sleutel en de waarde of het doos dat het overeenkomt. Het bevat ook een hash -functie. Een persoon weet welk postkantoor van haar is, maar een computer moet worden verteld welke sleutel naar welk doos gaat. De hash fuNction kijkt naar de sleutel, vertaalt deze in een reeks cijfers of code en koppelt deze aan het vak dat de bijbehorende code bevat. 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 getallen is die bedoeld is voor de computer om te lezen.