logo

Kuinka poistaa elementti ArrayLististä Javassa?

ArrayList on osa keräyskehys ja se on java.util-paketissa. Se tarjoaa meille dynaamisia taulukoita Javassa. Se voi kuitenkin olla hitaampi kuin tavalliset taulukot, mutta siitä voi olla apua ohjelmissa, joissa taulukkoa tarvitaan paljon. Tämä luokka löytyy java.util paketti. Java-versioiden käyttöönoton ja päivitysten myötä uudempia menetelmiä on saatavilla, jos näemme Java8:sta havaitsevia lambda-lausekkeita ja -virtoja käsitteitä ei ollut saatavilla ennen sitä, koska se esiteltiin java-versiossa 8, joten onko meillä enemmän tapoja toimia Arraylistin kautta suorittaa operaatioita. Täällä keskustelemme tavasta poistaa elementti ArrayLististä.

Kun poistamme elementtejä ArrayLististä, voimme joko poistaa elementtejä indeksien yli tai ArrayListissä olevien arvojen kautta. Keskustelemme molemmista tavoista tulkkauksen kautta puhtaan java-ohjelman kautta.



Menetelmät:

On 3 tapaa poistaa elementti ArrayLististä luettelossa, joka paljastetaan myöhemmin seuraavasti:

  1. Poista()-menetelmän käyttö indeksien mukaan (oletus)
  2. Poista()-menetelmän käyttö arvojen mukaan
  3. Poista()-menetelmän käyttäminen iteraattorien yli

Huomautus: Ei ole suositeltavaa käyttää ArrayList.remove():ta, kun iteroidaan elementtien yli.



Tapa 1: Poista()-menetelmän käyttäminen indeksien mukaan

Se on oletusmenetelmä heti, kun käytämme mitä tahansa menetelmää tietorakenteen yli, se toimii periaatteessa vain indeksien päällä, joten aina kun käytämme remove() -menetelmää, poistamme periaatteessa elementtejä ArrayListin indekseistä.

ArrayList-luokka tarjoaa kaksi ylikuormitettua remove()-menetelmää.



  • Remove(int index): Hyväksyy poistettavan objektin indeksin
  • Poista(Object obj): Hyväksyy poistettavan objektin

Selvitetään alla olevien esimerkkien avulla seuraavasti:

Esimerkki:

freddie mercury

Java


binääripuu 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);> >}> }>

>

>

Lähtö

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

Nyt olemme nähneet ArrayListin elementtien poistamisen yllä olevien indeksien kautta, katsotaan nyt, että ohitettu parametri katsotaan indeksiksi. Kuinka poistaa elementtejä arvon mukaan.

Tapa 2: Poista()-menetelmän käyttö arvojen mukaan

Esimerkki:

Java


css reunus



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

>

vuosineljänneksen liiketoiminnassa
>

Lähtö:

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

Huomautus: Ei ole suositeltavaa käyttää ArrayList.remove():ta, kun iteroidaan elementtien yli.

Myös uusi Integer(int_value) on poistettu käytöstä Java 9:n jälkeen, joten on parempi idea käyttää Integer.valueOf(int_value) -funktiota primitiivisen kokonaisluvun muuntamiseen kokonaislukuobjektiksi.

Tapa 3: Iterator.remove()-menetelmän käyttäminen

Tämä voi johtaa ConcurrentModificationException Kun iteroidaan elementtien yli, on suositeltavaa käyttää Iterator.remove() menetelmä.

Esimerkki:

Java




miten java päivitetään
// 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);> >}> }>

>

>

Lähtö

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