InicioHazlo Tu MismoComo quitar datos repetidos de un array en java

Como quitar datos repetidos de un array en java

Hazlo Tu Mismo3/20/2015
Buenas.

Hace poco me surgio el problema que necesitaba quitar datos repetidos de un array en java, luego de buscar la solucion y no encontrarla me toco crear mi propia solucion,

por ejemplo el array que tenia era el siguiente datos = {0,1,0,3,4,2,5,7,4,0,1,0,4,6}
y solo deseaba tener algo asi datos = {0,1,3,4,2,5,7,6} sin que ningun dato se repitiera.

mi solucion fue la siguiente


public ArrayList<Integer> QuitarRepetidos (ArrayList<Integer> datos) {
//int[] datos= {0,1,0,3,4,2,5,7,4,0,1,0,4,6} ; //ejemplo de como serian los datos
int tam = datos.length;
ArrayList<Integer> newarray= new ArrayList<>();
int count = 0;
// con este for miramos lo numeros que aparecen

for (int i = 0; i < tam; i++) {
if (i == 0) {
newarray.add(datos);
}
if (i > 0) {
for (int t = 0; t < newarray.size(); t++) {
if (datos == newarray.get(t)) {
count++;
}
}
if (count == 0) {
newarray.add(datos);
}
}
count = 0;
}
return newarray;
}

una pequeña explicacion de como funciona y lo que hace la funcion, primero pasamos el ArrayList como un parametro de la funcion QuitarRepetidos, luego miramos el tamaño que este posee que va ser nuestro limite del primer for, luego se crea un nuevo array en donde se ira guardando los datos sin repetir y la declaracion de nuestro contador(count).

cuando entra por primera vez entra al primer if y agrega el dato que se posee en la posicion (0) de nuestro array, en las siguientes repeticiones del for entra al segundo if, en el cual tenemos un for que es el que recorre nuestro newarray y el if de este mira si nuestro array(Datos) en su posicion (x) tiene algun dato igual en nuestro newarray, si esto pasa entonces aumentamos 1 a nuestro contador,

nuestro ultimo if verifica que el contador sea cero si es asi agrega el valor de datos al newarray y reiniciamos el contador para revisar la siguiente posicion de array datos.


Espero que les sea de ayuda.
Datos archivados del Taringa! original
20puntos
1,216visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

l
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.