Você está aqui: Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como remover itens duplicados de um array em Java usando um objeto SetQuantidade de visualizações: 1339 vezes |
Nesta dica mostrarei como podemos tirar proveito do fato de que um objeto da interface Set não aceita itens repetidos para removermos os elementos duplicados de um vetor de inteiros em Java. É preciso, no entanto, ter cuidado, pois a ordem dos elementos do vetor pode ser alterada depois da execução do algorítmo: Note que usei a classe HashSet como implementação da interface Set. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class Estudos { public static void main(String args[]) { // vamos construir um vetor de inteiros int[] valores = {5, 1, 8, 1, 3, 1, 2, 5}; // vamos mostrar o conteúdo do vetor System.out.println("Vetor ogiginal: " + Arrays.toString(valores)); // agora vamos retornar um array sem elementos duplicados int[] semRepeticoes = removerDuplicados(valores); // vamos mostrar o vetor sem repetições System.out.println("Sem repetições: " + Arrays.toString(semRepeticoes)); } // método que recebe um vetor de inteiros e retorna um novo // vetor sem elementos repetidos public static int[] removerDuplicados(int[] vetor) { // vamos criar um Set (não aceita itens repetidos) Set<Integer> conjunto = new HashSet<>(); // agora vamos percorrer os itens do vetor e inserir // um de cada vez no set (descartando os repetidos) for (int i : vetor) { conjunto.add(i); } // vamos construir um novo vetor int[] resultado = new int[conjunto.size()]; int k = 0; for (int i : conjunto) { resultado[k++] = i; } return resultado; } } Ao executar este código Java nós teremos o seguinte resultado: Vetor ogiginal: [5, 1, 8, 1, 3, 1, 2, 5] Sem repetições: [1, 2, 3, 5, 8] |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |