Sobes.tech
Junior

O que é um Set em Java?

sobes.tech IA

Resposta da IA

Set em Java é uma coleção de elementos únicos que não garante a ordem de armazenamento.

Principais características:

  • Unicidade: Não pode conter duplicados. Se tentar adicionar um elemento existente, a operação será ignorada (dependendo da implementação).
  • Ausência de indexação: Os elementos não são acessíveis por índice.
  • Interface: Faz parte do Java Collections Framework e estende a interface Collection.

Implementações mais utilizadas:

  • HashSet: A implementação mais rápida, baseada numa tabela de hash. Não garante a ordem dos elementos.
  • LinkedHashSet: Mantém a ordem de inserção dos elementos, usando uma lista ligada além da tabela de hash.
  • TreeSet: Armazena os elementos em ordem ordenada (natural ou por um comparador definido), baseado numa árvore vermelho-preto.

Exemplo de uso de HashSet:

// Criação de HashSet
Set<String> nomesUnicos = new HashSet<>();

// Adicionar elementos
nomesUnicos.add("Alice");
nomesUnicos.add("Bob");
nomesUnicos.add("Alice"); // Este elemento será ignorado
nomesUnicos.add("Charlie");

// Verificar se contém um elemento
boolean contemBob = nomesUnicos.contains("Bob"); // true

// Iterar sobre os elementos (a ordem não é garantida)
for (String nome : nomesUnicos) {
    System.out.println(nome);
}

// Tamanho do Set
int tamanho = nomesUnicos.size(); // 3