elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema al pasar datos de un ArrayList a un LinkedList
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al pasar datos de un ArrayList a un LinkedList  (Leído 1,613 veces)
JorgeLamli

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema al pasar datos de un ArrayList a un LinkedList
« en: 16 Abril 2015, 18:11 pm »

Hola chicos, tengo que pasar datos de un LinkedList a un ArrayList pero al hacerlo me tira un ConcurrentModificationException. Os dejo el codigo a ver si me podeis decir el problema

Código:
Iterator iteradorLinked = colecLinked.iterator();
Iterator iteradorArray = colecArray.iterator();

Hijo hijoLinked;
Hijo hijoArray;
boolean preg;

System.out.println("elementos en el LinkedList");
while (iteradorLinked.hasNext()) {
hijoLinked = (Hijo) iteradorLinked.next();
hijoArray = (Hijo) iteradorArray.next();

System.out.println(hijoLinked.nombre + ", " + hijoLinked.edad);

preg = equals(hijoLinked, hijoArray);
System.out.println(preg);

if (preg == false) {
System.out.println("Añadimos " + hijoLinked.nombre + ", "
+ hijoLinked.edad + " al ArrayList");
colecArray.add(new Hijo(hijoLinked.nombre, hijoLinked.edad));


}

}
public static boolean equals(Hijo hLinked, Hijo hArray) {
Hijo linked = (Hijo) hLinked;
Hijo array = (Hijo) hArray;
return linked.nombre.equals(array.nombre) && linked.edad == array.edad;

}

El primer elemento del LinkedList es igual a uno de los que hay en el ArrayList y no se debe agregar a este. Pero al llegar al segundo elemento es cuando me da la excepcion


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Problema al pasar datos de un ArrayList a un LinkedList
« Respuesta #1 en: 16 Abril 2015, 23:42 pm »

Es un problema de concurrencia común cuando se utiliza Iterator. Tienes opciones, como declarar un boque synchronized, utilizar clases concurrentes como ConcurrentHashMap o CopyOnWriteArrayList o recorrer la lista con un foreach. Lo más fácil es recorrer la lista con un foreach, que viene a ser lo mismo que for (Iterator i = coleccion.iterator(); i.hasNext().


Saludos.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
consulta ciclo for 100.000.000 de datos en un arraylist
Java
neomadara 2 1,805 Último mensaje 1 Mayo 2014, 22:04 pm
por ivancea96
Ayuda, obtener datos de Objetos en ArrayList « 1 2 »
Java
touchi 17 8,179 Último mensaje 28 Febrero 2015, 23:57 pm
por Usuario Invitado
Obtener datos de un ArrayList [Editado]
Java
i33naxo 0 2,400 Último mensaje 12 Diciembre 2016, 23:26 pm
por i33naxo
No se me guardan los datos en el ArrayList
Java
nemesis27 2 3,541 Último mensaje 9 Diciembre 2017, 05:31 am
por nemesis27
Pasar datos de ArrayList entre metodos (DUDA)
Java
MrSimpatia 1 2,114 Último mensaje 7 Octubre 2018, 23:41 pm
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines