Junior — Middle
Como é que se pode eliminar elementos duplicados numa lista não ordenada, usando estruturas de dados HashSet ou HashMap para remover automaticamente os duplicados através de chaves únicas?
sobes.tech IA
Resposta da IA
Para eliminar elementos duplicados numa lista não ordenada usando estruturas de dados HashSet ou HashMap em Java, pode aproveitar as suas propriedades de armazenamento de chaves únicas.
- HashSet armazena apenas elementos únicos. Quando são adicionados duplicados, são ignorados automaticamente.
- HashMap pode ser usado se precisar de guardar pares chave-valor, onde as chaves são únicas.
Exemplo de remoção de duplicados de uma lista usando HashSet:
import java.util.*;
List<String> listaComDuplicados = Arrays.asList("maçã", "banana", "maçã", "laranja", "banana");
// Criar um HashSet a partir da lista — os duplicados serão removidos automaticamente
Set<String> conjunto = new HashSet<>(listaComDuplicados);
// Se precisar de uma lista sem duplicados
List<String> listaSemDuplicados = new ArrayList<>(conjunto);
System.out.println(listaSemDuplicados);
Se desejar manter a ordem dos elementos, pode usar LinkedHashSet:
Set<String> conjuntoOrdenado = new LinkedHashSet<>(listaComDuplicados);
List<String> listaOrdenada = new ArrayList<>(conjuntoOrdenado);
Assim, HashSet e HashMap permitem eliminar duplicados de forma eficiente ao armazenar chaves únicas.