0

Sets em Java

#Java
B
Breno Guimarães

Sets

A classe Set herda comportamentos da java.util.collection, as principais caracteristicas dos sets e suas implementações são:

Como herdam da classe Collection, implementam também seus metodos tais como: add, remove, size, contains, clear, isEmpty entre outros.

características:

  • por padrão, não garante a ordem de inserção.
  • não permite itens repetidos
  • permite adição e remoção. Não possui busca por item e atualização. Para a leitura, apenas navegação.
  • não permite mudança de ordenação.


implementações:

java.util.HashSet

java.util.TreeSet

java.util.LinkedHashSet




HashSet é a implementação mais comum de um Set e é conhecido por ser performático e não permitir valores repetidos. Pode ser usado onde a ordenação não é importante.

declaração:

Set<Double> notas = new HashSet<>();


O LinkedHashSet diferente do HashSet, mantem a ordenação de acordo com a ordem de inserção dos itens e por isso perde um pouco de performance.

declaração:

LinkedHashSet<Integer> sequenciaNumerica = new LinkedHashSet<>();



TreeSet funciona de uma maneira diferente dos demais por não estar em uma lista e sim em uma árvore binária.

declaração:

TreeSet<String> treeCapitais = new TreeSet<>();



Por ser uma árvore binária, essa estrutura possui alguns métodos diferentes. Entre eles:


first: Retorna a primeira capital no topo da árvore

System.out.println(treeCapitais.first());


last: Retorna a ultima capital abaixo na arvore

System.out.println(treeCapitais.last());


lower: Retorna a primeira capital abaixo na árvore da capital parametrizada (BH) System.out.println(treeCapitais.lower("BH"));


higher: Retorna a primeira capital acima na árvore da capital parametrizada (BH) System.out.println(treeCapitais.higher("BH"));


pollFirst: Retorna a primeira capital no topo da árvore, removendo do set System.out.println(treeCapitais.pollFirst());


pollFirst: Retorna a primeira capital no final da árvore, removendo do set System.out.println(treeCapitais.pollLast());

0
1

Comentários (2)

0
Thomaz Silva

Thomaz Silva

15/04/2021 08:47

otimo!

1
Udinei Silva

Udinei Silva

08/04/2021 22:57

Boa Breno!

Muito bom! Obrigado irmão Vlw!

Desenvolvedor Backend

Brasil