¿Cómo eliminará elementos de manera eficiente mientras itera una Colección?

La forma correcta de eliminar elementos de una colección mientras se itera es mediante el método ListIterator.remove ().

P.ej

ListIterator iter = myList.iterator ();
while (iter.hasNext ()) {
itr.remove ();
}

Algunos desarrolladores usan el siguiente código para eliminar un elemento que es incorrecto:

Iterador iter = myList.iterator ();
while (iter.hasNext ()) {
itr.remove ();
}

Al hacerlo, obtenemos ConcurrentModificationException.

Primero se crea un iterador para recorrer la lista. Pero al mismo tiempo, la lista se cambia mediante el método remove ().

En Java, no está permitido que un hilo modifique una colección mientras otro hilo la itera. ListIterator proporciona la capacidad de eliminar un objeto durante el recorrido.

Referencia : 100 preguntas principales de la entrevista de colecciones de Java

More Interesting

¿Debería alguien que se aplica a un campo de arranque de desarrollo ya saber cómo escribir una función para sumar una matriz multidimensional?

¿Qué algoritmos se pueden usar para encontrar rutas más seguras en una red de modo que sea casi imposible de rastrear y ningún pirata informático pueda utilizarlo completamente?

¿Qué algoritmo usa YouTube para crear la lista de sugerencias de reproducción automática?

¿Qué imprime este código? ¿Cuál es la función de EOLN en este ejemplo?

¿Cómo podemos implementar el algoritmo de Prim rápidamente en los concursos de programación?

¿Cómo es la búsqueda tan rápida por los motores de búsqueda? Generan millones de instrucciones en menos de un segundo. ¿Qué algoritmo usan?

¿Hay algún conocimiento de programación que pueda utilizar / ayudaría a aprender ajedrez?

¿Qué área de finanzas NO se externalizará a computadoras y algoritmos en el futuro?

¿Cómo mejoro mis habilidades informáticas? ¿Alguien puede recomendarme formas de acortar la curva de aprendizaje?

¿Cómo encontramos la altura de un árbol binario? ¿Cómo se relaciona con el nivel?

¿Qué libro (s) y otros recursos recomendaría para que un principiante entienda las estructuras de datos y los algoritmos en C ++?

¿Cómo se puede resolver el coeficiente binomial usando programación dinámica y tabla hash?

Cómo aprender estructuras de datos y algoritmos para empezar

¿Qué tiene de malo el algoritmo de recomendación de la historia de Quora?

¿Cuál es la forma lógica de resolver el problema SPOJ 'Palin'?