Hashtable

Pra que serve hashtable? Alguém poderia me explicar, pois não entendi, o pq ele pode trzer do banco uma informação? E como seria uma lógica para isso?

Grato
Paulo

É uma coleção.
Porme a hash table tu pode dar chave e valor para cada registro.

É uma espécie de índice, que mapeia um valor para outro.

Cada chave de um hashtable é associado a um valor. Você pode ter valores repetidos, mas as chaves devem ser únicas.

A Hashtable, entretanto, é uma classe antiga e é considerada obsoleta. Utilize a classe HashMap no lugar, que faz basicamente a mesma coisa, mas é uma implementação mais direta da Collections Framework. O HashMap também não tem sincronização por default, apresentando assim uma performance ligeiramente melhor.

Uma tabela de hash consiste em uma estrutura de dados que possui como vantagem o alto desempenho na busca por informações. (teóricamente, o custo computacional seria práticamente constante).

Isto se deve à maneira como uma tabela de hash armazena seus dados. Cada item armazenado na tabela de Hash possui um valor numérico (índice) que o identifica únicamente dentro da estrutura de dados. E este índice é gerado a partir de operações matemáticas. Sendo assim, se você quer encontrar um item dentro de uma tabela de hash, basta passar o valor do índice para a mesma, que o índice numérico será calculado e, a partir dele, a localização da informação.

Compare com um vetor por exemplo no qual você tem de percorrer os itens do mesmo e você já percebe o quão mais rápida é a obtenção da informação. (claro, você pode fazer uma busca binária em um vetor, mas mesmo assim uma busca em tabela hash será mais rápida, pois o custo da procura não irá aumentar conforme você aumenta o número de itens na tabela).

O único porém da tabela hash é que você não tem como garantir a ordem em que os itens são armazenados dentro dela. (apesar de existirem recursos para este tipo de limitação).

Sendo assim, “é para isto que serve” uma tabela de Hash. Trata-se simplesmente de uma estrutura de dados que possibilita um acesso mais rápido às informações armazenadas.

1 curtida