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.
viernes, 20 de marzo de 2015
Como quitar datos repetidos de un array en java
Redactado por: Anónimo
Mi nombre es Christian y actualmente estudio Computacon e informatica, tengo este blog, porque me gustan el diseño y sobre webs, espero disfruten del contenido de sitio y pueden informarse todo lo que puedan. .
Relacionados
Suscribirse a:
Comentarios de la entrada (Atom)
0 comentarios
Publicar un comentario