Trilhas
/
Java
Java
/
Programa
/
Conjuntos
Co

Conjuntos em Java

2 exercícios

Sobre Conjuntos

Um Set é uma coleção não ordenada que (diferente de List) tem a garantia de não conter valores duplicados.

O parâmetro de tipo genérico da interface Set indica o tipo dos elementos contidos no Set:

Set<Integer> ints = Set.of(1, 2, 3);
Set<String> strings = Set.of("alpha", "beta", "gamma");
Set<Object> mixed = Set.of(1, false, "foo");

Repare que o método Set.of() cria uma instância de Set não modificável. Tentar chamar métodos como add e remove nessa instância vai gerar uma exceção em tempo de execução.

Para criar um Set modificável, você precisa instanciar uma classe que implemente a interface Set. A classe embutida mais usada que implementa essa interface é a classe HashSet.

Set<Integer> ints = new HashSet<>();

A interface Set estende as interfaces Collection e Iterable e, por isso, compartilha muitos métodos com outros tipos de coleções. Uma diferença notável em relação à interface Collection, no entanto, é que métodos como add e remove retornam um boolean (em vez de void), o que indica se o item estava contido no conjunto quando aquele método foi chamado:

Set<Integer> set = new HashSet<>();
set.add(1);
// => true
set.add(2);
// => true
set.add(1);
// => false
set.size();
// => 2
set.contains(1);
// => true
set.contains(3);
// => false
set.remove(3);
// => false
set.remove(2);
// => true
set.size();
// => 1
Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Conjuntos