Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Como eliminar duplicados de un arreglo

Estas en el tema de Como eliminar duplicados de un arreglo en el foro de Java en Foros del Web. Bueno gente tengo una duda de como eliminar los duplicados de un arreglo, con el código que he echo primero inicio el arreglo, después lo ...
  #1 (permalink)  
Antiguo 28/04/2013, 12:46
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Como eliminar duplicados de un arreglo

Bueno gente tengo una duda de como eliminar los duplicados de un arreglo, con el código que he echo primero inicio el arreglo, después lo ordeno y luego tengo que borrar los duplicados del arreglo, pero hasta el momento solo pude hacer que me muestre los elementos duplicados como un arreglo, y faltan los no duplicados.
Si alguien puede ayudarme dejo el código abajo.


class Arreglo
{
public static void main (String args[])
{
//int arreglo[], n;


int arreglo[]={2,2,3,1,4,5,3,1};


mostrar(arreglo);
ordenar(arreglo,arreglo.length);
mostrar(arreglo);
sinDuplicados(arreglo);



}
///////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////Metodo para ordenar el Arreglo//////////////////////////////////////////////////
public static void ordenar(int arreglo[], int cantidad)
{
if(cantidad ==1)
return;
for(int i=0; i<=cantidad-2;i++)
{
if(arreglo[i]> arreglo[i+1])
{
int aux = arreglo[i];
arreglo[i]=arreglo[i+1];
arreglo[i+1]=aux;
}
}
ordenar (arreglo, cantidad-1);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////Metodo para mostrar el arreglo////////////////////////////////////////////
public static void mostrar (int arreglo[])
{
for (int i=0; i< arreglo.length; i++)
System.out.print(arreglo[i]+ " ");
System.out.println();
}
//////////////////////////////////////Metodo para mostrarlo sin duplicados //////////////////////////////////////////////////
public static void sinDuplicados(int arreglo[]){
for(int i=0;i<arreglo.length;i++)
{
for(int j=i+1;j<arreglo.length;j++)
{
if(arreglo[i]==arreglo[j])
{
System.out.print(arreglo[j]+ " ");
}


}
}
}

}
  #2 (permalink)  
Antiguo 29/04/2013, 14:39
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Como eliminar duplicados de un arreglo

Para eliminar duplicados tienes que crear un arreglo auxiliar, inicialmente vacío. Añades el primer elemento del arreglo al auxiliar y luego cada vez que quieras añadir un nuevo elemento del arreglo inicial al auxiliar debes recorrer el arreglo auxiliar comprobando que el elemento no se encuentra ya añadido. Una vez añadidos todos los elementos devuelves el arreglo auxiliar como el correcto.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:21.