Qual é a diferença entre HashMap e HashSet

Índice:

Anonim

o principal diferença entre HashMap e HashSet é que o O HashMap pertence à Hierarquia da Interface do Mapa e não há associação com a interface da Coleção, enquanto o HashSet pertence à Hierarquia da Interface da Coleção.

Linguagens de programação como Java fornecem um recurso chamado "coleções" para armazenar dados dinamicamente. É possível armazenar vários objetos como uma única unidade usando coleções. Além disso, também é possível realizar operações como adicionar, excluir, remover, classificar e pesquisar em uma coleção. A interface base para implementar coleções em Java é chamada de Collection. Além disso, Set é uma interface que estende a interface Collection. HashSet está sob esta hierarquia. Por outro lado, Map é uma interface separada e não estende a interface Collection. HashMap vem sob a hierarquia de mapas.

HashMap, HashSet, Java, Map

O que é HashMap

HashMap é uma classe que implementa a interface Map usando uma tabela hash. Ele estende o AbstractMap enquanto o AbstractMap implementa a interface Map. Além disso, ele contém pares de valores-chave e só pode haver chaves exclusivas. Ele pode ter uma chave nula e vários valores nulos. Além disso, o HashMap não é sincronizado e não mantém uma ordem específica. Um exemplo de programa é o seguinte.

Figura 1: Programa com HashMap

O ‘alunos’ é um objeto do HashMap. Ele pode armazenar vários itens que têm um inteiro como chave e uma string como valor. O método put ajuda a inserir novos itens no HashMap. O loop for com o Map.Entry permite percorrer todos os itens nos alunos. O método getKey () imprime as chaves enquanto o método getValues ​​() imprime os valores. Além disso, o HashMap não mantém uma ordem específica. Portanto, não imprime os elementos de acordo com a ordem inserida. Além disso, existem dois itens com a tecla 2, mas ela imprime apenas um item. Portanto, ele contém apenas chaves exclusivas.

O que é HashSet

HashSet é uma classe que ajuda a criar uma coleção usando uma tabela hash para armazenamento. HashSet extends AbstractSet; AbstractSet implementa Set e Set estende Collection. Ele pode conter valores nulos e não está sincronizado. Além disso, o HashSet não mantém a ordem de inserção e contém apenas elementos exclusivos. Um exemplo é o seguinte.

Figura 2: Programa com HashSet

As 'frutas' são um objeto de HashSet; ele pode armazenar String. O método add ajuda a inserir novos elementos no HashSet. O método iterador pega o número de itens no HashSet e o armazena na variável i. Em seguida, o loop while passa por cada item para imprimi-los. Primeiro, o item adicionado foi laranja, mas o primeiro item na saída é a Apple. Consequentemente, o HashSet não mantém o pedido de inserção. Além disso, existem dois itens como Apple, mas ela só imprime um deles. Portanto, ele contém apenas itens exclusivos.

Diferença entre HashMap e HashSet

Definição

HashMap é uma classe que ajuda a criar uma coleção que herda a classe AbstractMap e implementa a interface Map. HashSet é uma classe que ajuda a criar um conjunto de elementos como uma unidade única que herda a classe AbstractSet e implementa a interface Set. Portanto, esta é a diferença fundamental entre HashMap e HashSet.

Associação com interface de coleção

Além disso, o HashMap está na Hierarquia do Mapa. Ele não pertence à interface da coleção. Por outro lado, HashSet está na Hierarquia de coleção. Portanto, esta é uma das principais diferenças entre HashMap e HashSet.

Chave, Valores

Outra diferença entre HashMap e HashSet é que enquanto HashMap contém chaves e valores, HashSet contém valores.

Funcionalidade

Uma outra diferença entre HashMap e HashSet é que o HashMap armazena valores com base em chaves usando Hashtable, enquanto o HashSet armazena elementos usando o mecanismo de hash.

Conclusão

A principal diferença entre HashMap e HashSet é que o HashMap pertence à Hierarquia de Interface de Mapa e não há associação com a interface de Coleção, enquanto o HashSet pertence à Hierarquia de Interface de Coleção.

Referência:

1. “HashMap em Java - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “HashSet em Java - Javatpoint.” Www.javatpoint.com, disponível aqui.

Qual é a diferença entre HashMap e HashSet