logo

Wie entferne ich ein Element aus ArrayList in Java?

ArrayList ist ein Teil von Sammlungsrahmen und ist im Paket java.util vorhanden. Es stellt uns dynamische Arrays in Java zur Verfügung. Es ist zwar möglicherweise langsamer als Standard-Arrays, kann aber in Programmen hilfreich sein, bei denen viele Manipulationen im Array erforderlich sind. Diese Klasse befindet sich in java.util Paket. Mit der Einführung und den Aktualisierungen in Java-Versionen sind neuere Methoden verfügbar, wenn wir sehen, dass in Java 8 perzeptive Lambda-Ausdrücke und Streams-Konzepte vorher nicht verfügbar waren, da sie in Java Version 8 eingeführt wurden, sodass wir mehr Möglichkeiten haben, über Arraylist zu arbeiten Operationen durchführen. Hier diskutieren wir eine Möglichkeit, ein Element aus einer ArrayList zu entfernen.

Beim Entfernen von Elementen aus ArrayList können wir entweder Elemente über Indizes oder über Werte entfernen, die in einer ArrayList vorhanden sind. Wir werden beide Möglichkeiten diskutieren, indem wir durch ein sauberes Java-Programm interpretieren.

Methoden:



Es gibt 3 Möglichkeiten, ein Element aus ArrayList zu entfernen wie aufgelistet, was später wie folgt enthüllt wird:

  1. Verwendung der Methode „remove()“ durch Indizes (Standard)
  2. Verwenden der Methode „remove()“ nach Werten
  3. Verwendung der Methode „remove()“ über Iteratoren

Notiz: Es wird nicht empfohlen, ArrayList.remove() beim Durchlaufen von Elementen zu verwenden.

Methode 1: Verwendung der Methode „remove()“ durch Indizes

Es handelt sich um eine Standardmethode, sobald wir eine Methode für die Datenstruktur verwenden. Sie arbeitet grundsätzlich nur mit Indizes. Wenn wir also die Methode „remove()“ verwenden, entfernen wir grundsätzlich Elemente aus Indizes aus einer ArrayList.

ArrayList-Klasse stellt zwei überladene Remove()-Methoden bereit.

  • Remove(int Index): Akzeptiert den Index des zu entfernenden Objekts
  • Remove(Object obj): Akzeptiert das zu entfernende Objekt

Lassen Sie uns anhand der unten aufgeführten Beispiele Folgendes herausfinden:

Beispiel:

Datumsunterschied in Excel

Java


Java-vergleichbare Schnittstelle



// 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);> >}> }>

>

>

Ausgabe

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

Nun haben wir oben gesehen, wie Elemente in einer ArrayList über Indizes entfernt werden. Sehen wir uns nun an, dass der übergebene Parameter als Index betrachtet wird. So entfernen Sie Elemente nach Wert.

Methode 2: Verwenden der Methode „remove()“ nach Werten

Beispiel:

Java

gültige Bezeichner in 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);> >}> }>

>

Pandas erstellen Datenrahmen

>

Ausgabe :

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

Notiz: Es wird nicht empfohlen, ArrayList.remove() beim Durchlaufen von Elementen zu verwenden.

Auch new Integer( int_value) ist seit Java 9 veraltet, daher ist es besser, Integer.valueOf(int_value) zu verwenden, um eine primitive Ganzzahl in ein Integer-Objekt zu konvertieren.

Methode 3: Verwenden der Methode Iterator.remove()

Dies kann dazu führen ConcurrentModificationException Bei der Iteration über Elemente wird die Verwendung empfohlen Iterator.remove() Methode.

Beispiel:

Java




In welchem ​​Jahr wurde der Computer erfunden?
// 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);> >}> }>

>

>

Ausgabe

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