logo

Kā noņemt elementu no ArrayList Java?

ArrayList ir daļa no kolekcijas ietvars un atrodas java.util pakotnē. Tas nodrošina mums dinamiskus masīvus Java. Tomēr tas var būt lēnāks nekā standarta masīvi, taču tas var būt noderīgs programmās, kurās ir nepieciešams daudz manipulēt ar masīvu. Šī klase ir atrodama java.util iepakojums. Līdz ar Java versiju ieviešanu un jauninājumiem ir pieejamas jaunākas metodes, ja mēs redzam, ka no Java8 uztverošās lambda izteiksmes un straumes koncepcijas nebija pieejamas pirms tās, jo tās tika ieviestas java versijā8, tāpēc vai mums ir vairāk veidu, kā darboties, izmantojot Arraylist, lai veikt operācijas. Šeit mēs apspriedīsim veidu, kā noņemt elementu no ArrayList.

Noņemot elementus no ArrayList, mēs varam vai nu noņemt elementus no indeksiem, vai arī izmantojot vērtības, kas atrodas ArrayList. Mēs apspriedīsim abus veidus, tulkojot, izmantojot tīru java programmu.



Metodes:

Tur ir 3 veidi, kā noņemt elementu no ArrayList sarakstā, kas vēlāk tiks atklāts šādi:

  1. Metodes noņemšanas () izmantošana pēc indeksiem (noklusējums)
  2. Izmantojot Remove() metodi pēc vērtībām
  3. Metodes remove() izmantošana iteratoros

Piezīme: Atkārtojot elementus, nav ieteicams izmantot ArrayList.remove().



1. metode: Metodes noņemšanas () izmantošana pēc indeksiem

Tā ir noklusējuma metode, tiklīdz mēs izmantojam jebkuru metodi datu struktūrā, tā pamatā darbojas tikai ar indeksiem, tāpēc ikreiz, kad mēs izmantojam noņemšanas () metodi, mēs pamatā noņemam elementus no indeksiem no ArrayList.

ArrayList klase nodrošina divas pārslogotas noņemšanas () metodes.



  • Remove(int index): pieņem noņemamā objekta indeksu
  • noņemt(Objekta objekts): pieņem objektu, kas jānoņem

Ļaujiet mums noskaidrot, izmantojot tālāk sniegtos piemērus, šādi:

Piemērs:

virkni masīvā java

Java


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

>

>

Izvade

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

Tagad mēs esam redzējuši elementu noņemšanu no ArrayList, izmantojot iepriekš minētos indeksus. Tagad redzēsim, ka nodotais parametrs tiek uzskatīts par indeksu. Kā noņemt elementus pēc vērtības.

linkedlist java

2. metode: Izmantojot Remove() metodi pēc vērtībām

Piemērs:

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

>

>

Izvade:

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

Piezīme: Atkārtojot elementus, nav ieteicams izmantot ArrayList.remove().

Arī jaunais Integer(int_value) ir novecojis kopš Java 9, tāpēc labāk ir izmantot Integer.valueOf(int_value), lai primitīvu veselu skaitli pārveidotu par veselu skaitļa objektu.

3. metode: Izmantojot Iterator.remove() metodi

kas ir mac os

Tas var novest pie ConcurrentModificationException Atkārtojot elementus, ieteicams izmantot Iterator.remove() metodi.

Piemērs:

Java




virknes pārvēršana par veselu skaitli
// 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);> >}> }>

>

>

Izvade

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