Tirar valores repetidos em um Array

por exemplo:
tenho o array: {2,2,3,3,5,9,2,1,4,5}

como tiro os valores repetidos de dentro colocando em um novo array?

agradeço se respoderem

Crie dois métodos: um deles localiza um determinado valor em um array (retorna true se achar e false se não), e outro insere o valor no array.
O primeiro método serve para você saber se um determinado valor já existe; se ele já existir, ele ficará repetido, portanto você não o insere no array.

Depois disso, você combina esses dois métodos.

Faça um laço para jogar os valores para uma ArrayList e use o método contains() para verificar se o valor já está no novo ArrayList.

obrigado…
valeu pela ajudaa!!

Parece ser um exercicio de logica. por isso não deve ser possivel usar a API.
Se fosse possivel teria maneiras bem mais faceis do que passar p/ um ArrayLIst e usar o metodo contains(). :slight_smile:

[]´s

jgbt.

Porque vc disse que teria uma maneira mais facil?
O que estava querndo dizer, pode me explicar?

[quote=gpd38]jgbt.

Porque vc disse que teria uma maneira mais facil?
O que estava querndo dizer, pode me explicar?

[/quote]

Usando HashMap p.e eu acho muito mais facil.

Nada de reinventar a roda. Java tem as classes que implementam a interface SET justamente pra isso.

Itere no seu array e mande adicionar os elementos em um SET (Ex: LinkedHashSet, se vc quiser manter a ordem de inserção).

Seu SET conterá os elementos sem repetição.

Set<String> semRepeticao = new LinkedHashSet<String>();
for (String valor: array) {
    semRepeticao.add(valor);
}
//Seu SET agora contem os elementos, sem repetição.

Apenas lembrando: vc pode evitar “duplicatas” de qualquer objeto, desde que vc informe pro Java o que são “2 objetos clientes iguais”, por exemplo.
Vide equals() and hashCode().

No seu caso, funciona porque a classe String já sobrescreve tais métodos.

1 curtida