A linguagem de programação Java tem dois tipos de contêineres de dados ainda semelhantes distintos, o HashMap e HashSet . Ambos utilizam uma tabela hash para armazenar dados. Uma tabela é uma tabela de valores que usa uma função de hash para determinar onde procurar e armazenar dados. Isso permite rápido acesso aos dados porque um valor não tem que ser procurado . Em vez disso, a função hash pode fornecer a localização exata do valor. Apesar de tanto o uso de tabelas de hash , HashMap e HashSet são bastante diferentes uns dos outros . Mapas
Mapas armazenam dados em relacionamentos de chave-valor . Uma chave é dito para ser mapeado para um valor . Um dicionário é um bom exemplo de um contêiner de dados do mapa. A chave é a palavra que você está olhando para cima e o valor é a definição . Todos os dados em um mapa deve ser armazenado usando uma chave única , mas pode haver vários valores, idênticos.
Conjuntos
Um conjunto é uma coleção de dados sem duplicar elementos. Por exemplo , a sequência de dígitos de 0 a 9 é um conjunto , mas a sequência de 0 , 1 , 1 , 2 , 3 não é, desde o dígito 1 é repetido . Um conjunto não apresentam uma relação de valor-chave como um mapa. É simplesmente uma coleção de valores não- duplicados.
Desempenho
O HashMap proporciona um desempenho constante de tempo para o "ficar " e " colocar " métodos , que são usados para preencher a estrutura de dados. Desempenho constante de tempo significa que não importa quão grande a estrutura de dados torna-se , estas operações terão sempre a mesma quantidade de tempo para realizar . O HashSet proporciona um desempenho constante de tempo para o " adicionar ", " remover ", " contém ", e os métodos de "tamanho" .
Recursos opcionais
O HashMap fornece todas das operações da classe Java Mapa eo HashSet fornece todas as operações da classe Java definido. Isto porque tanto HashMap e HashSet são implementações das classes Java Mapa e Set , respectivamente .