Artículos
Java

Eliminar un rango del ArrayList

19/Oct/2021

Ya hemos visto cómo podemos eliminar un elemento de un ArrayList o eliminar todas las ocurrencias de un elemento dentro del ArrayList. Ahora lo que vamos a ver es cómo podemos eliminar un rango del ArrayList con Java. Es decir, eliminar desde una posición hasta otra posición, ambas posiciones incluidas.

Siempre empezamos creando el ArrayListy añadiendo información al mismo. En este caso vamos a crear una clase que extienda un ArrayList. Y esto es así ya que vamos apoyarnos en un método protegido del ArrayList que no podemos invocar directamente.

Así definiremos la clase EliminarRangoLista de la siguiente forma:

public class EliminarRangoLista extends ArrayList<Integer> { ... }

Así que para crear nuestro ArrayList lo que haremos será instanciar la clase que acabamos de crear:

// ArrayList con tamaño
EliminarRangoLista numeros = new EliminarRangoLista();

Y le añadiremos una serie de elementos. Al ser un ArrayList de enteros, le añadimos números.

numeros.add(1);
numeros.add(2);
numeros.add(3);
numeros.add(4);
numeros.add(5);
numeros.add(6);
numeros.add(7);
numeros.add(8);
numeros.add(9);

Lo siguiente será pasar a eliminar un rango del ArrayList que acabamos de crear. Es decir, queremos eliminar los elementos que estén entre la posición X e Y. Por ejemplo, vamos a eliminar los elementos entre la posición 3 y 6, ambas inclusive.

Para ello vamos a utilizar el método .removeRange() del ArrayList, el cual recibe como parámetro las posiciones inicial y final del rango a eliminar. Hay que saber que el método .removeRange() es un método protegido, es por ello que hemos creado una clase que extendía la clase ArrayList.

Si pasamos a codificar, el código a ejecutar es el siguiente:

numeros.removeRange(3,6);

De esta manera el método .removeRange() habrá eliminado los elementos que hay entre las posiciones 3 y 6. Lo podremos comprobar si recorremos el ArrayList mediante una clase Iterator.

Iterator<Integer> it = numeros.iterator();
while(it.hasNext())
  System.out.println(it.next());

Ya habremos conseguido eliminar un rango del ArrayList con Java sabiendo manejar el método protegido .removeRange(). ¿Crees que será de utilidad cuando estés manejando listas dentro de tus programas?

Código Fuente

Descárgate el código fuente de Eliminar un rango del ArrayList
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios