Problema con List
Amm tengo un problema pero es muy extraño, intentare no extenderme en la explicacion.
Estoy desarrollando una libreria que implementa un algoritmo sencillo, la idea que tengo es extender de una clase e implementar algunos metodos abstractos que tiene y el resto lo hace la libreria, estoy utilizando una lista para representar un estado, pero me sale una excepcion muy extraña si me pudieran ayudar, por ejemplo decirme casos curiosos en los que hayan tenido este problema o se me ocurre que al extender de una clase se crea otro hilo o algo por el estilo por que tengo entendido que este error se crea cuando hay varios hilos y mi aplicacion [con la que estoy probando esta libreria] es lineal.. solo tengo un main. asi que si se les ocurre algo muchas gracias, de cualquier forma si necesitan que ponga algo de codigo solo pidan...
Exception in thread "main" java.util.ConcurrentModificationException
- Inicie sesión o regístrese para enviar comentarios
ayudaria
pues si pudieras mostrar el código seria mas fácil, que los lenguajes de programación son libres de contexto y se supone que cualquiera que tenga los conocimientos suficientes puede saber que es lo que estas tratando de hacer...
según lo que dice la documentación
imagino que habrá algún problema entre la clase de la que estas heredando y las interfaces que estas implementando.......
De hecho solo se necesitaba
De hecho solo se necesitaba el mensaje de error ( que pusiste al final )
Eso pasa cuando estás iterando una colección ( en este caso una lista - seguramente un arraylist -) y estás eliminando un elemento.
No puedes hacer esto:
Eso en términos coloquiales ( y chilangos ) significa "Orale, orale, como quieres que recorra toda la lista si le estas quitando valores!!"
Si necesitas eliminar algunos elementos de una lista, puedes seleccionarlos en la iteración y luego eliminarlos:
no manches eres buenisimo,
no manches eres buenisimo, gracias... no lo habia visto...
no te puedo dar puntos o algo? muy buena respuesta
Iterator
También puedes usar un Iterator para recorrer una lista y además ir eliminando elementos:
Pero esa excepción ConcurrentModificationException también sale si estás iterando sobre una lista y otro hilo la modifica. Pero si como dices, tu aplicación solamente tiene un hilo, es más probable que tu problema sea que eliminabas (o agregabas) elementos a una lista mientras la ibas recorriendo. Iterator tiene un método para quitar el elemento actual, pero si quieres agregarle elementos a la lista, tienes que usar una lista secundaria, como lo que hace Oscar pero al final en vez de removeAll, llamas addAll en tu lista primaria pasando la lista secundaria como argumento.
Vientos
Excelentes soluciones caballeros, muy útiles ambas...