logo

¿Cómo eliminar un elemento de ArrayList en Java?

ArrayList es parte de marco de colección y está presente en el paquete java.util. Nos proporciona matrices dinámicas en Java. Sin embargo, puede ser más lento que los arreglos estándar, pero puede ser útil en programas donde se necesita mucha manipulación en el arreglo. Esta clase se encuentra en java.util paquete. Con la introducción y las actualizaciones en las versiones de Java, hay métodos más nuevos disponibles si vemos que en Java8 las expresiones lambda perceptivas y los conceptos de flujos no estaban disponibles antes, ya que se introdujeron en la versión 8 de Java, entonces, ¿tenemos más formas de operar sobre Arraylist para realizar operaciones. Aquí discutiremos una forma de eliminar un elemento de una ArrayList.

Al eliminar elementos de ArrayList, podemos estar operando para eliminar elementos a través de índices o mediante valores que se encuentran en un ArrayList. Discutiremos ambas formas mediante la interpretación a través de un programa Java limpio.



Métodos:

Hay 3 formas de eliminar un elemento de ArrayList como se enumera, que más adelante se revelará de la siguiente manera:

  1. Usando el método remove() por índices (predeterminado)
  2. Usando el método remove() por valores
  3. Usando el método remove() sobre iteradores

Nota: No se recomienda utilizar ArrayList.remove() al iterar sobre elementos.



Método 1: Usando el método remove() por índices

Es un método predeterminado, tan pronto como usamos cualquier método sobre la estructura de datos, básicamente opera solo sobre índices, por lo que cada vez que usamos el método remove() básicamente estamos eliminando elementos de los índices de una ArrayList.

clase ArrayList proporciona dos métodos remove() sobrecargados.



  • remove(int index): Acepta el índice del objeto a eliminar
  • remove(Object obj): Acepta el objeto a eliminar

Averigüemos con la ayuda de los ejemplos que se proporcionan a continuación de la siguiente manera:

Ejemplo:

carbón + int en java

Java


caracteres de cadena java



// Java program to Remove Elements from ArrayList> // Using remove() method by indices> > // Importing required classes> import> java.util.ArrayList;> import> java.util.List;> > // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating an object of List interface with> >// reference to ArrayList class> >List al =>new> ArrayList();> > >// Adding elements to our ArrayList> >// using add() method> >al.add(>10>);> >al.add(>20>);> >al.add(>30>);> >al.add(>1>);> >al.add(>2>);> > >// Printing the current ArrayList> >System.out.println(al);> > >// This makes a call to remove(int) and> >// removes element 20> >al.remove(>1>);> > >// Now element 30 is moved one position back> >// So element 30 is removed this time> >al.remove(>1>);> > >// Printing the updated ArrayList> >System.out.println(al);> >}> }>

>

>

Producción

[10, 20, 30, 1, 2] [10, 1, 2]>

Ahora que hemos visto la eliminación de elementos en una ArrayList a través de índices arriba, ahora veamos que el parámetro pasado se considera un índice. Cómo eliminar elementos por valor.

unidad lógica aritmética

Método 2: Usando el método remove() por valores

Ejemplo:

Java




// Java program to Remove Elements from ArrayList> // Using remove() method by values> > // Importing required classes> import> java.util.ArrayList;> import> java.util.List;> > // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating an object of List interface with> >// reference to ArrayList> >List al =>new> ArrayList();> > >// Adding elements to ArrayList class> >// using add() method> >al.add(>10>);> >al.add(>20>);> >al.add(>30>);> >al.add(>1>);> >al.add(>2>);> > >// Printing the current ArrayList> >System.out.println(al);> > >// This makes a call to remove(Object) and> >// removes element 1> >al.remove(Integer.valueOf(>1>));> > >// This makes a call to remove(Object) and> >// removes element 2> >al.remove(Integer.valueOf(>2>));> > >// Printing the modified ArrayList> >System.out.println(al);> >}> }>

>

>

Producción :

[10, 20, 30,1 ,2] [10, 20, 30]>

Nota: No se recomienda utilizar ArrayList.remove() al iterar sobre elementos.

Además, el nuevo Integer (int_value) ha quedado obsoleto desde Java 9, por lo que es mejor usar Integer.valueOf (int_value) para convertir un entero primitivo en un objeto entero.

Método 3: Usando el método Iterator.remove()

cadena de fecha java

Esto puede llevar a ConcurrentModificationException Al iterar sobre elementos, se recomienda utilizar Iterador.remove() método.

Ejemplo:

Java




conversión de cadena a fecha
// Java program to demonstrate working of> // Iterator.remove() on an integer ArrayList> import> java.util.ArrayList;> import> java.util.Iterator;> import> java.util.List;> > public> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating an ArrayList> >List al =>new> ArrayList();> > >// Adding elements to our ArrayList> >// using add() method> >al.add(>10>);> >al.add(>20>);> >al.add(>30>);> >al.add(>1>);> >al.add(>2>);> > >// Printing the current ArrayList> >System.out.println(al);> > >// Creating iterator object> >Iterator itr = al.iterator();> > >// Holds true till there is single element> >// remaining in the object> >while> (itr.hasNext()) {> > >// Remove elements smaller than 10 using> >// Iterator.remove()> >int> x = (Integer)itr.next();> >if> (x <>10>)> >itr.remove();> >}> > >// Printing the updated ArrayList> >System.out.print(al);> >}> }>

>

>

Producción

[10, 20, 30, 1, 2] [10, 20, 30]>