Diferença entre HashMap e HashTable

Diferença chave: Na ciência da computação, um hashTable ou um hashMap refere-se a uma estrutura de dados que vincula chaves (nomes) com valores (atributos). Em Java, existem algumas diferenças importantes entre os dois, como: HashTable é sincronizado e o HashMap não está sincronizado. Um HashTable não permite chaves nulas. No entanto, um HashMap permite uma única chave nula e qualquer número de valores nulos.

HashMap e hashTable são estruturas de dados que são partes da coleção Java. Eles usam pares de valores-chave para armazenar objetos. Ambos compartilham algumas semelhanças, como os dois implementam a interface java.util.Map e ambos trabalham com o princípio de hashing. No entanto, quando nos referimos a eles no contexto da linguagem de programação Java, existem inúmeras diferenças entre os dois.

Uma hashTable é usada para armazenar e recuperar um valor usando uma chave. Para este propósito, a chave deve ser única. A tabela usada para armazenar os pares de chave e valor é conhecida como uma tabela de hash. Uma tabela de hash é formada usando um algoritmo que hashes as chaves. Essa função hash é usada para atribuir números aos dados de entrada e, em seguida, os dados são armazenados como o índice de matriz que corresponde ao número calculado ou avaliado.

Como um hashTable, um hashMap também funciona nos mesmos princípios do hash. Ele pode ser considerado como uma implementação baseada em tabela de hash da interface Map. No entanto, difere do hashTable em alguns pontos. O HashMap não está sincronizado, enquanto o hashTable é sincronizado. Sincronização significa que, em um tempo de partícula, apenas um thread pode modificar a tabela. Assim, para executar uma operação de atualização no hashTable, um bloqueio deve ser adquirido na tabela. Para esse tempo em particular, os outros threads precisam esperar. Após o desbloqueio, os outros tópicos podem continuar e trabalhar na mesa. Outra grande diferença entre os dois é que hashTable não permite uma chave nula. No entanto, o hashMap permite uma única chave nula e qualquer número de valores nulos.

Comparação entre HashMap e HashTable:

HashMap

HashTable

Sincronização

Não é sincronizado

Está sincronizado (thread safe)

Valores nulos

Permite valores nulos como chave e valor

Não permite nulos

Introdução em java

Java versão 1.2

Primeira versão do kit de desenvolvimento java

atuação

Comparativamente melhor

Comparativamente pobre

Estende

Ele estende a classe AbstractMap

Ele estende a classe Dictionary que é bastante antiga

Iteração de chaves

Iterador é usado para iterar as chaves

A interface de enumeração é usada para iterar chaves

Aplicações

Melhor para aplicativos não encadeados

Geralmente, seguro para aplicativos multithread

Serialização

Não serializado

Serializado

Alternativa

Pode-se usar o hashMap simultâneo para o ambiente multi-thread

Nenhuma alternativa

Recomendado

Artigos Relacionados

  • comparações populares: Diferença entre azulejos vitrificados e azulejos de marbonite

    Diferença entre azulejos vitrificados e azulejos de marbonite

    Diferença chave: Os ladrilhos vitrificados referem-se aos ladrilhos feitos pelo processo de vitrificação. Neste processo, altas temperaturas são usadas para assar as telhas. Por outro lado, as telhas de Marbonite são geralmente associadas a uma marca da empresa conhecida como HR Johnson. Os ladrilhos de marbonite são ladrilhos vitrificados sob a marca 'Marbonite' e, portanto, possuem as mesmas qualidades e características de outros ladrilhos vitrificados. "
  • comparações populares: Diferença entre Apesar e Inspite

    Diferença entre Apesar e Inspite

    Diferença chave: As palavras "apesar de" e "inspiradora" são preposições usadas para expressar contraste. O termo "apesar de" é mais comumente usado em inglês e às vezes também é considerado sinônimo de "inspirador". Ambos, 'apesar de' e 'inspirado' são usados ​​em inglês com os pronomes, isto, aquilo, o que, etc. ou junto com u
  • comparações populares: Diferença entre Kickboxing e Muay Thai Boxing

    Diferença entre Kickboxing e Muay Thai Boxing

    Diferença chave: Kickboxing é uma arte moderna japonesa de artes marciais e esportes de combate stand-up, que é totalmente baseada em chutes e socos; Considerando que o Muay Thai Boxing é um esporte de combate baseado nas artes marciais tradicionais de Muay da Tailândia, ele é composto exclusivamente de técnicas marcantes e de rebitagem. Geral
  • comparações populares: Diferença entre Kbps e Mbps

    Diferença entre Kbps e Mbps

    Diferença chave: Kbps é um acrônimo para kilo bits por segundo, enquanto Mbps é um acrônimo para mega bits por segundo. Um Kbps define a taxa de transferência de dados que é equivalente a mil bits transferidos por segundo. Por outro lado, um Mbps define a taxa de transferência de dados equivalente a um milhão de bits ou a um milhar de bits transferidos por segundo. Kbps e
  • comparações populares: Diferença entre óculos e contatos

    Diferença entre óculos e contatos

    Diferença chave: óculos também conhecidos como óculos, óculos ou óculos são estruturas que usam lentes e são usadas na frente dos olhos para corrigir a visão. Por outro lado, as lentes de contato são lentes que são colocadas diretamente na córnea dos olhos. Óculos e lentes de contato são diferentes tipos de óculos prescritos. Uma pessoa co
  • comparações populares: Diferença entre Ghoul e Zombie

    Diferença entre Ghoul e Zombie

    Diferença chave : Ghoul e Zombie são ambos personagens fictícios populares. A principal diferença entre os dois é que os zumbis são cadáveres mortos-vivos que se alimentam de carne humana, enquanto os carniçais são criaturas semelhantes a demônios que também se alimentam de carne humana. Ghoul e zumbi são apenas criaturas folclóricas que são vistas na literatura e, mais recentemente, em filmes. Ambos são cr
  • comparações populares: Diferença entre a Terra e Júpiter

    Diferença entre a Terra e Júpiter

    Diferença chave: Tanto a Terra quanto Júpiter são dois planetas diferentes. A principal diferença entre os dois planetas é que a Terra é o terceiro planeta do Sol, enquanto Júpiter é o quinto planeta do Sol. Terra e Júpiter são dois planetas diferentes no Sistema Solar, e eles não têm nada comum um ao outro. Eles são d
  • comparações populares: Diferença entre bebê e criança

    Diferença entre bebê e criança

    Diferença chave : A palavra “bebê” significa qualquer criança desde o nascimento até os 4 anos de idade, enquanto a palavra “criança” se refere a qualquer criança de três meses a 12 anos de idade. Um dos momentos mais especiais da vida é quando um bebê olha para você, ou aperta o seu dedo grande com seus pequenos, ou sorri para você quando você faz caretas para ele. Os bebês são verda
  • comparações populares: Diferença entre Blog e site

    Diferença entre Blog e site

    Diferença chave: um site é qualquer página da web que hospede algum tipo de informação. Um blog é um tipo de site. Um blog e um site são duas maneiras diferentes de postar informações na World Wide Web. Essencialmente, um site é qualquer página na web que hospede algum tipo de informação. Um blog é u

Escolha Do Editor

Diferença entre LG Optimus L7 II Dual e Micromax A116 Canvas HD

Diferença chave: O LG Optimus L7 II Dual é um telefone de segmento médio da LG. O telefone é um telefone dual SIM. O dispositivo possui um LCD IPS de 4, 3 polegadas, touchscreen capacitivo com resolução de 480 x 800 pixels. Ele é executado no Android v 4.1.2 (JellyBean), que é apoiado pelo processador Snapdragon Qualcomm MSM8225 Dual-Core de 1.0 GHz e