quinta-feira, 5 de julho de 2012

[JAVA] HashSet e LinkedHashSet

Olá pessoal, hoje irei falar de duas implementações da interface Set do Java que é a interface que trata de conjuntos. Vamos ver algumas diferenças entre a implementação HashSet e LinkedHashSet.

Importante: os conjuntos não permitem elementos duplicados como também não são indexados.

A implementação HashSet não possui nenhuma garantia em relação a ordem dos elementos, veja o código abaixo:


Vejam que eu inseri os elementos 1, 6 e 4. Qual o resultado da impressão ao executar o código abaixo? O resultado será  1, 4, 6. Então fica comprovado que, ao usar o HashSet, a ordem dos elementos pode ser diferente da ordem de inserção.

Agora iremos ver a implementação LinkedHashSet, o código é parecido com o código anterior, veja logo abaixo:


O código acima insere 1, 6, 4, 7, a ordem de impressão é a mesma ordem de inserção. Então resumindo, o HashSet não garante que a ordem de iteração seja a mesma de inserção ao contrário do LinkedHashSet.

Quaisquer dúvidas, deixem nos comentários, até a próxima!


Um comentário:

Anônimo disse...

Muito bom, me ajudou bastante!