Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2012, 01:28
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Eliminar duplicados ArrayList Objetos

Y si no te queda más remedio pues lo implementas tú:

for (Obj obj : arrayList) {
while (indexOf(obj) != lastIndexOf(obj)) {
arrayList.remove(lastIndexOf(obj));
}
} (lo dejo aqui porque se me ha ido la pinza bien bien, como autocrítica)

Bueno me autocritico porque no puedo modificar dinámicamente un arrayList que estoy recorriendo :D

Como te dice zero, la forma más rápida es copiar los objetos a un HashMap o HashSet desde tu ArrayList, así cuando encuentre un duplicado ya no lo introduce. Luego vuelves a pasar los objetos a otro arraylist y ya tienes lo que quieres.

Para la otra opción ... recapitulamos:

List auxArray = arrayList.clone();
// Esto recorre todos los objetos del arrayList pero comparando y eliminando en el auxiliar
for (Obj obj : arrayList) {
while (auxArray.indexOf(obj) != auxArray.lastIndexOf(obj)) {
auxArray.remove(lastIndexOf(obj));
}
}
// Finalmente
arrayList = auxArray();
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Última edición por Fuzzylog; 24/09/2012 a las 01:46