quarta-feira, 14 de setembro de 2016

[JAVA] Java Collections Framework | Set - HashSet


Fala galera!

Após falarmos um pouco a respeito do List em Java Collections Framework, hoje abordaremos outra coleção chamada Set.



A interface Set não contém elementos duplicados e possui três principais implementações, que são:
  • HashSet;
  • LinkedHashSet;
  • TreeSet.
HashSet

Esta classe não possui nenhuma garantia em relação a ordem de iteração do conjunto, ou seja, não pode-se acreditar que a mesma sequencia/ordem que os elementos foram adicionados serão os mesmos ao longo do tempo. Esta classe possui a característica de permitir a inserção de elementos nulos (null) e também não é sincronizada.

Mais informações importantes sobre a classe HashSet:

  • a classe HashSet não mantém a ordem, os elementos podem ser retornados em ordem aleatória;
  • não é possível inserir elementos duplicados. Caso isso aconteça, o elemento "antigo" será sobrescrito pelo novo elemento;
  • conforme mencionado anteriormente, a classe HashSet aceita a inclusão de elementos nulos, mas, como descrito no item anterior, ele não permite elementos duplicados, então retornará somente um elemento nulo;
  • a classe é não-sincronizada;
  • a classe possui um método para remoção de elementos, mas se um elemento for removido de outra forma, uma exceção será lançada.
Alguns métodos interessantes de se abordar:
  • add(Element e): adiciona um elemento a lista;
  • clear(): remove todos os elementos da lista;
  • clone(): efetua uma cópia superficial da lista;
  • contains(Object o): retorna falso se um objeto (Object o) não está na lista. Caso encontre, o retorno será verdadeiro;
  • isEmpty(): retorna verdadeiro caso não tenha elementos na lista;

Nos próximos posts vamos falar um pouco sobre as outras duas classes LinkedHashSet e TreeSet.

Att

;)
Renan Rodrigues Ramos Desenvolvedor

Sou desenvolvedor, amo desenvolvimento de software, músico e apaixonado por filmes e seriados.