logo

Kako odstraniti element iz ArrayList v Javi?

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:

  1. Uporaba metode remove() z indeksi (privzeto)
  2. Uporaba metode remove() po vrednostih
  3. 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]>