ArrayList er en del av innsamlingsramme og finnes i java.util-pakken. Det gir oss dynamiske arrays i Java. Skjønt, det kan være tregere enn standard arrays, men kan være nyttig i programmer der mye manipulasjon i arrayen er nødvendig. Denne klassen finnes i java.util pakke. Med introduksjonen og oppgraderingene i java-versjoner blir nyere metoder tilgjengelige hvis vi ser fra Java8 at oppfattende lambda-uttrykk og strømmer ikke var tilgjengelige før det ble introdusert i java-versjon8, så har vi flere måter å operere over Arraylist for å utføre operasjoner. Her skal vi diskutere en måte å fjerne et element fra en ArrayList.
Mens vi fjerner elementer fra ArrayList, kan vi enten operere for å fjerne elementer over indekser eller via verdier vært der i en ArrayList. Vi vil diskutere begge veier via tolking gjennom et rent java-program.
Metoder:
Det er 3 måter å fjerne et element fra ArrayList som oppført som senere vil bli avslørt som følger:
- Bruke remove()-metoden av indexes(standard)
- Bruke remove()-metoden etter verdier
- Bruke remove()-metoden over iteratorer
Merk: Det anbefales ikke å bruke ArrayList.remove() når du itererer over elementer.
Metode 1: Bruke remove()-metoden av indekser
Det er en standardmetode så snart vi bruker en metode over datastruktur, fungerer den i utgangspunktet bare over indekser, så hver gang vi bruker remove()-metoden fjerner vi i utgangspunktet elementer fra indekser fra en ArrayList.
ArrayList klasse gir to overbelastede remove()-metoder.
- remove(int index): Godtar indeksen til objektet som skal fjernes
- remove(Object obj): Godtar objektet som skal fjernes
La oss finne ut ved hjelp av eksempler gitt nedenfor som følger:
Eksempel:
angre siste forpliktelse
Java
sdlc
// 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);> >}> }> |
>
>Produksjon
[10, 20, 30, 1, 2] [10, 1, 2]>
Nå har vi sett fjerning av elementer i en ArrayList via indekser ovenfor, la oss nå se at den beståtte parameteren betraktes som en indeks. Hvordan fjerne elementer etter verdi.
Metode 2: Bruke remove()-metoden etter verdier
mylivecricket.in
Eksempel:
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);> >}> }> |
>
>
Utgang:
[10, 20, 30,1 ,2] [10, 20, 30]>
Merk: Det anbefales ikke å bruke ArrayList.remove() når du itererer over elementer.
Også nytt Integer(int_value) har blitt avviklet siden Java 9, så det er bedre å bruke Integer.valueOf(int_value) for å konvertere et primitivt heltall til Integer Object.
Metode 3: Bruker Iterator.remove() metoden
Dette kan føre til ConcurrentModificationException Ved iterasjon over elementer anbefales det å bruke Iterator.remove() metode.
bash hvis tilstand
Eksempel:
Java
hvordan sortere arraylist i java
// 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);> >}> }> |
>
>Produksjon
[10, 20, 30, 1, 2] [10, 20, 30]>