Datorprogrammering är den process som automatiserar datorprogramvara. De flesta datorprogram lagrar digital data i filer. En hashtabell är en speciell tabell som består av nyckelvärdespar, som genereras av prestandaskäl. Hashtable-nyckeln är metoden för att komma åt en specifik information från en hashtabell. Nyckeln är sökparametern som används för att komma åt ett specifikt värde från en datafil.
Vanligtvis är en hashtabell en tabell full av nycklarvärdepar. Med denna teknik har varje värde en motsvarande hashbar nyckel. Denna typ av tabell kan användas inom många funktionella områden av datorbehandling. Tabellen anses vara en datastruktur som använder en hashfunktion för att komma åt hashable-nyckeln i tabellen. Hash-funktionen konverterar vanlig textdata till hash-nycklar, för dataåtkomst.
När data lagras i datafiler skapas datorprogram för att hämta data. Hash-funktioner har vanligtvis snabbare åtkomstalgoritmer än vanliga plantextsökningar. Detta beror på att en hashbar nyckel är en binär representation av originaldata, vilket ger bättre presterande index för sökning.
En hashmap är en osynkroniserad version av en hashtabell. Den innehåller en lista över nyckelvärdepar som är slumpmässigt ordnade. Hashmap tillåter skapandet av nollvärden i tabellen, vilket inte är tillgängligt med en normal hashtabell. Dessa nollvärden kan vara nödvändiga för vissa affärsfunktioner.
Hashtabeller använder hashalgoritmer för att skapa hashtabellnyckeln. Dessa algoritmer är matematiska funktioner som omvandlar plantextdata till en numerisk representation. Varje hashalgoritm har en specifik metod för att skapa den hashade nyckeln. Vissa algoritmer har bättre prestandaegenskaper men lider av dataintegritetsproblem.
En av nackdelarna med hashalgoritmer är frågan om hashingkollisioner. En kollision inträffar när två datavärden i vanlig text beräknas till samma hashade värde. Detta är vanligtvis oundvikligt när man hanterar stora datamängder eftersom en kollision så småningom kommer att inträffa. Det finns flera kollisionsupplösningstekniker som används för hashtabeller. Varje teknik försöker ta itu med problem med kollision på ett specifikt sätt.
Separat kedja är ett exempel på ett hashbart kollisionsavskräckande medel. Denna process kräver skapandet av en lista över nyckelvärdepar som har kolliderat i hashtabellen. Den separata länklistan spårar alla kollisioner. Den används av hashalgoritmen som en extra söktabell. Vanligtvis är den separata kedjeupplösningen tillräcklig för de flesta hashbara konfigurationer.