ArrayList is een onderdeel van verzamelkader en is aanwezig in het java.util-pakket. Het biedt ons dynamische arrays in Java. Hoewel het langzamer kan zijn dan standaardarrays, kan het nuttig zijn in programma's waarbij veel manipulatie in de array nodig is. Deze klasse is te vinden in java.util pakket. Met de introductie en upgrades in Java-versies zijn er nieuwere methoden beschikbaar als we uit Java8 zien dat opmerkzame lambda-expressies en streams-concepten daarvoor niet beschikbaar waren, zoals geïntroduceerd in Java-versie 8. We hebben dus meer manieren om via Arraylist te werken operaties uitvoeren. Hier bespreken we een manier om een element uit een ArrayList te verwijderen.
Terwijl we elementen uit ArrayList verwijderen, kunnen we ofwel elementen verwijderen via indexen of via waarden die aanwezig zijn in een ArrayList. We zullen beide manieren bespreken via interpretatie via een schoon Java-programma.
Methoden:
Er zijn 3 manieren om een element uit ArrayList te verwijderen zoals vermeld, die later als volgt zal worden onthuld:
- Methode remove() gebruiken via indexen (standaard)
- Methode remove() gebruiken op waarden
- De methode remove() gebruiken via iterators
Opmerking: Het wordt niet aanbevolen om ArrayList.remove() te gebruiken bij het herhalen van elementen.
Methode 1: De methode remove() gebruiken door indexen
Het is een standaardmethode, zodra we een methode over de datastructuur gebruiken, werkt deze in principe alleen via indexen, dus wanneer we de methode remove() gebruiken, verwijderen we in feite elementen uit indices uit een ArrayList.
ArrayList-klasse biedt twee overbelaste remove()-methoden.
- remove(int index): Accepteert de index van het object dat moet worden verwijderd
- remove(Object obj): Accepteert het object dat moet worden verwijderd
Laten we het als volgt uitzoeken met behulp van de onderstaande voorbeelden:
Voorbeeld:
25 c tot k
Java
download youtube-video's vlc
// 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);> >}> }> |
>
>Uitvoer
[10, 20, 30, 1, 2] [10, 1, 2]>
Nu we hebben gezien hoe elementen in een ArrayList via indexen hierboven zijn verwijderd, laten we nu zien dat de doorgegeven parameter als een index wordt beschouwd. Hoe elementen op waarde te verwijderen.
Methode 2: Methode remove() gebruiken op waarden
Voorbeeld:
Java
c programma voor tweedimensionale array
// 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);> >}> }> |
>
>
Uitgang:
Madhuri zei: kom op
[10, 20, 30,1 ,2] [10, 20, 30]>
Opmerking: Het wordt niet aanbevolen om ArrayList.remove() te gebruiken bij het herhalen van elementen.
Ook het nieuwe Integer(int_value) is verouderd sinds Java 9, dus het is een beter idee om Integer.valueOf(int_value) te gebruiken om een primitief geheel getal naar Integer Object te converteren.
Methode 3: De methode Iterator.remove() gebruiken
Dit kan leiden tot ConcurrentModificationException Bij iteratie over elementen wordt het aanbevolen om te gebruiken Iterator.verwijder() methode.
Voorbeeld:
Java
volgende scanner
// 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);> >}> }> |
>
>Uitvoer
[10, 20, 30, 1, 2] [10, 20, 30]>