Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Coleções (Collections) ::: Set (Conjunto)

Como remover itens duplicados de um array em Java usando um objeto Set

Quantidade 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]

Link para compartilhar na Internet ou com seus amigos:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 23 usuários muito felizes estudando em nosso site.