Categorías
Basics Collections

Java Eliminar elemento de ArrayList

Para eliminar algunos elementos de una ArrayList mientras iteramos sobre ArrayList, necesitamos usar Iterator.

Integer[] arr = {1,2,3,4,5,6};
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(arr));
System.out.println(list);
 
Iterator<Integer> iter = list.iterator();
while(iter.hasNext()){
	int i = iter.next();
	if(i==5)
		iter.remove();
}
 
System.out.println(list);

Si el elemento se elimina mediante el método ArrayList.remove (i) durante una iteración como la siguiente, el programa lanzará una ConcurrentModificationException.

for(int i: list){
	if(i==2)
		list.remove(list.indexOf(i));
}
java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
	at java.util.ArrayList$Itr.next(Unknown Source)

Ejemplos de API de Java: java.util.Iterator

  ¿Otro "Java pasa por referencia o por valor"?

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *