ArrayList je del okvir zbiranja in je prisoten v paketu java.util. Zagotavlja nam dinamična polja v Javi. Čeprav je morda počasnejši od standardnih nizov, je lahko koristen v programih, kjer je potrebnih veliko manipulacij z nizom. Ta razred najdemo v java.util paket. Z uvedbo in nadgradnjami v različicah Jave so na voljo novejše metode, če vidimo iz Jave8 zaznavni lambda izrazi in koncepti tokov pred tem niso bili na voljo, saj je bilo uvedeno v Javi različica8, zato imamo več načinov za delovanje prek Arraylist za izvajati operacije. Tukaj bomo razpravljali o načinu odstranitve elementa iz seznama ArrayList.
Med odstranjevanjem elementov iz seznama ArrayList lahko odstranimo elemente prek indeksov ali prek vrednosti, ki so tam v seznamu ArrayList. Razpravljali bomo o obeh načinih prek tolmačenja s čistim programom java.
Metode:
obstajajo 3 načini za odstranitev elementa iz ArrayList kot je navedeno, kar bo kasneje razkrito na naslednji način:
- Uporaba metode remove() z indeksi (privzeto)
- Uporaba metode remove() po vrednostih
- Uporaba metode remove() nad iteratorji
Opomba: Pri ponavljanju elementov ni priporočljivo uporabljati ArrayList.remove().
1. način: Uporaba metode remove() z indeksi
To je privzeta metoda, takoj ko uporabimo katero koli metodo nad podatkovno strukturo, v bistvu deluje samo nad indeksi, tako da vsakič, ko uporabimo metodo remove(), v bistvu odstranjujemo elemente iz indeksov iz ArrayList.
Razred ArrayList nudi dve preobremenjeni metodi remove().
- remove(int index): Sprejme indeks predmeta, ki ga želite odstraniti
- remove(Object obj): Sprejme predmet, ki ga želite odstraniti
Ugotovimo s pomočjo spodnjih primerov, kot sledi:
primer:
diana ankudinova
Java
predmet matrike v Javi
// 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);> >}> }> |
>
>Izhod
[10, 20, 30, 1, 2] [10, 1, 2]>
Zdaj smo videli odstranjevanje elementov v ArrayList prek zgornjih indeksov, zdaj pa poglejmo, da se posredovani parameter šteje za indeks. Kako odstraniti elemente po vrednosti.
2. način: Uporaba metode remove() po vrednostih
primer:
Java
java string join
// 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);> >}> }> |
>
kako odpreti datoteko json
>
Izhod:
[10, 20, 30,1 ,2] [10, 20, 30]>
Opomba: Pri ponavljanju elementov ni priporočljivo uporabljati ArrayList.remove().
Tudi novi Integer( int_value) je bil od Jave 9 opuščen, zato je bolje uporabiti Integer.valueOf(int_value) za pretvorbo primitivnega celega števila v Integer Object.
3. način: Uporaba metode Iterator.remove().
To lahko vodi do ConcurrentModificationException Pri ponavljanju elementov je priporočljiva uporaba Iterator.remove() metoda.
primer:
Java
gimp spremeni barvo
// 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);> >}> }> |
>
>Izhod
[10, 20, 30, 1, 2] [10, 20, 30]>