Vad är en hashmap?
I datavetenskap är en hashmap eller hashtabell en form av strukturering av data så att varje data är kopplad till ett unikt identifikationsnummer eller symbol. Detta möjliggör enkel återhämtning, särskilt från en stor databas som innehåller tusentals poster. HashMap är inte en specifik del av programmet, utan hänvisar snarare till en form av dataorganisation som tilldelar varje objekt, känd som en nyckel, i databasen till ett värde som står för det objektet. Hash -funktionen är den del av programmet som länkar nycklarna till deras värden.
Telefonböcker fungerar som ett utmärkt exempel på en hashmap. Hur telefonboken läggs ut representerar hashmapstrukturen. Den fokuserar på att koppla olika värden tillsammans och bara koppla ett värde till en annan motsvarande term eller telefonnummer. Namnen i telefonboken är nycklarna och telefonnumren är värdena som är associerade med dem. Varje person i boken tilldelas ett annat nummer och inga två är lika.
postkontorslådor fungerar också somEn metafor för hashmap. Varje person har en nyckel till en enda låda. Lådan kan hålla flera informationsdelar - räkningar, brev, vykort - alla avsedda för den person som har nyckeln till rutan. När rätt tangent sätts in eller matchas med rätt ruta öppnar den att avslöja innehållet.
Perfekt fungerande hashMaps skulle länka en nyckel till en minnesruta "i en datordatabas. Tyvärr kan en faktor som kallas hashkollision inträffa, där två nycklar går till samma ruta. Detta händer när en stor mängd data matas in och det inte finns tillräckligt med "lådor" för att rymma allt.
Till skillnad från en telefonbok eller en postkontor, inkluderar hashmaps ett tredje element utöver nyckeln och värdet eller rutan den matchar. Det innehåller också en hashfunktion. En person vet vilken postkontor som är hennes, men en dator måste berättas vilken nyckel som går till vilken ruta. Hash fuNction tittar på nyckeln, översätter den till en serie nummer eller kod och länkar den till rutan som innehåller motsvarande kod. Namnet på nyckeln, till exempel "Mary", är bara där så det är lättare för människor att tolka, medan den faktiska koden är en sträng av siffror som är avsedd för datorn att läsa.