Terug naar begrippenlijst

Hashmap

Een hashmap is een datastructuur waarin je informatie opslaat in de vorm van sleutel–waardeparen (key–value pairs). Het idee is simpel: je gebruikt een unieke sleutel om een bijbehorende waarde snel terug te vinden – zonder dat je door een hele lijst hoeft te zoeken. Zie het als een digitale variant van een woordenboek. Je zoekt op het woord (“de key”) en krijgt meteen de betekenis (“de value”). En dankzij hashing gebeurt dat razendsnel.

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Van sleutel naar supersnelle zoekactie

Stel je voor dat je in een archiefkast iets opbergt. Elke lade heeft een label (de sleutel), en in die lade zit precies datgene wat je zoekt (de waarde). Maar in plaats van handmatig te zoeken, gooi je de sleutel door een slimme formule (de hashfunctie) die meteen weet in welke lade je moet zijn.

Dat is het geheim van de hashmap: via een hashfunctie wordt elke sleutel razendsnel vertaald naar een ‘adres’ in het geheugen. Je kunt er niet alleen snel iets in opslaan, maar het ook bliksemsnel weer terugvinden. Ideaal in situaties waar snelheid en efficiëntie belangrijk zijn, zoals in softwareontwikkeling.

Geen lijstjes meer doorspitten

Hashmaps zijn ontzettend handig als je veel data hebt die je op basis van unieke identifiers wilt kunnen ophalen. Denk aan:

  • Snel gebruikersinformatie vinden op basis van gebruikers-ID
  • Caching van resultaten
  • Bijhouden welke producten in een winkelmandje zitten (per gebruiker)
  • Configuraties opslaan als key-value instellingen

Het grote voordeel? Waar lijsten lineair zoeken (en dus trager worden naarmate ze groeien), werkt een hashmap in vrijwel constante tijd. Of je nu 10 of 10.000 items hebt – ophalen duurt even lang.

Niet perfect, wél razendsnel

Hashmaps zijn supersnel, maar niet ideaal als je bijvoorbeeld alle waarden in volgorde wilt doorlopen. Ook kunnen hashcollisions ontstaan (twee sleutels die naar hetzelfde adres leiden), al gaan moderne implementaties daar slim mee om.

Daarom gebruik je een hashmap vooral als je weet: ik wil snel iets vinden op basis van een unieke sleutel en ik hoef geen gesorteerde lijst.

Veelgestelde vragen

Bijna! In veel programmeertalen (zoals Python of JavaScript) wordt het concept van een hashmap geïmplementeerd als een “dictionary” of “object”.

Een wiskundige functie die een sleutel omzet in een cijfer (de hash), waarmee de hashmap weet waar het item thuishoort.

Dan komen twee verschillende sleutels op hetzelfde adres uit. De hashmap lost dit meestal op met chaining of open addressing.

Niet echt. Als je gesorteerde of doorloopbare data nodig hebt, kun je beter een tree-structuur of lijst gebruiken.

Thijn de Haas Lead developer

Meer over Thijn

Mijn programmeeravontuur begon rond mijn twaalfde, toen ik ontdekte dat je met code vrijwel alles kunt maken. Ik begon met het bouwen van kleine projecten en startte al snel mijn eigen hostingdienst, wat me veel leerde over maatwerkcode, serverbeheer en het koppelen aan websites. Deze kennis pas ik nu dagelijks toe in mijn werk aan websites en applicaties.

Als student Applicatieontwikkelaar liep ik drie stages bij Wux, waarbij ik tijdens de eerste stage mijn eerste bedrijf startte, deels op advies van Bo. Deze ervaringen vormden het fundament van mijn rol als lead developer en mede-eigenaar van Wux. Met een constante interesse in nieuwe technieken en het meedenken naar de beste oplossingen, zet ik mijn expertise dagelijks in om complexe vraagstukken op te lossen samen met mijn team.

Twee mannen in overleg tijdens het werk achter hun computerschermen
Zwaaiende emoji

Thijn Back-end developer

Op zoek naar slimme software-oplossingen die jouw bedrijf efficiënter maken?

Het team van Wux ontwikkelt maatwerk software die aansluit bij jouw behoeften. Neem vandaag nog contact op en ontdek hoe we jouw bedrijf elke dag succesvoller kunnen maken.

Meer over software