Skip to main content

O que é um Hashmap?

Na ciência da computação, um mapa de hash ou tabela de hash é uma forma de estruturar dados para que cada dado seja vinculado a um número ou símbolo de identificação exclusivo. Isso permite uma recuperação fácil, especialmente de um grande banco de dados contendo milhares de entradas. O hashmap não é uma parte específica do programa, mas refere-se a uma forma de organização de dados que atribui cada item, conhecido como chave, no banco de dados a um valor que representa esse item. A função hash é a parte do programa que vincula as chaves aos seus valores.

As listas telefônicas servem como um excelente exemplo de um mapa de hash. A maneira como a lista telefônica é organizada representa a estrutura do hashmap. Ele se concentra em vincular valores diferentes e vincular apenas um valor a outro termo correspondente ou número de telefone. Os nomes na lista telefônica são as teclas e os números de telefone são os valores associados a elas. Cada pessoa do livro recebe um número diferente e não há duas iguais.

As caixas postais também servem como uma metáfora para o hashmap. Toda pessoa tem uma chave para uma única caixa. A caixa pode conter várias informações - notas, cartas, cartões postais - todas destinadas ao indivíduo que possui a chave da caixa. Quando a chave correta é inserida ou corresponde à caixa correta, ela é aberta para revelar seu conteúdo.

Os hashmaps em perfeito funcionamento vinculariam uma chave a uma "caixa" de memória em um banco de dados de computador. Infelizmente, um fator conhecido como colisão de hash pode ocorrer, onde duas chaves vão para a mesma caixa. Isso acontece quando uma grande quantidade de dados é inserida e não há "caixas" suficientes para acomodar tudo.

Diferentemente de uma lista telefônica ou uma caixa postal, os hashmaps incluem um terceiro elemento, além da chave e do valor ou caixa correspondente. Também inclui uma função de hash. Uma pessoa sabe qual caixa de correio é dela, mas um computador deve saber qual chave vai para qual caixa. A função hash examina a chave, a converte em uma série de números ou código e a vincula à caixa que contém o código correspondente. O nome da chave, como "Mary", está lá apenas, portanto é mais fácil para as pessoas interpretarem, enquanto o código real é uma sequência de números que o computador pode ler.