logo

Jak usunąć element z ArrayList w Javie?

ArrayList jest częścią ramy kolekcji i jest obecny w pakiecie java.util. Zapewnia nam dynamiczne tablice w Javie. Chociaż może być wolniejszy niż standardowe tablice, ale może być pomocny w programach, w których potrzebne jest wiele manipulacji tablicą. Ta klasa znajduje się w java.util pakiet. Wraz z wprowadzeniem i aktualizacjami wersji Java dostępne są nowsze metody, jeśli widzimy, że w Javie 8 percepcyjne wyrażenia lambda i koncepcje strumieni nie były wcześniej dostępne, tak jak wprowadzono je w wersji Java 8, więc czy mamy więcej sposobów operowania na Arraylist w celu wykonywanie operacji. Tutaj omówimy sposób usunięcia elementu z listy ArrayList.

Podczas usuwania elementów z ArrayList możemy albo usunąć elementy poprzez indeksy, albo poprzez wartości znajdujące się w ArrayList. Będziemy omawiać oba sposoby poprzez interpretację za pomocą czystego programu Java.



Metody:

Tam są 3 sposoby usunięcia elementu z ArrayList zgodnie z listą, która później zostanie ujawniona w następujący sposób:

  1. Używanie metody usuwania() według indeksów (domyślnie)
  2. Korzystanie z metody usuwania() według wartości
  3. Używanie metody usuwania() w iteratorach

Notatka: Nie zaleca się używania metody ArrayList.remove() podczas iteracji po elementach.



Metoda 1: Korzystanie z metody usuwania() według indeksów

Jest to metoda domyślna, gdy tylko zastosujemy jakąkolwiek metodę na strukturze danych, zasadniczo działa ona tylko na indeksach, więc za każdym razem, gdy używamy metody usuwania(), zasadniczo usuwamy elementy z indeksów z listy ArrayList.

Klasa ArrayList udostępnia dwie przeciążone metody usuwania().



  • usuń (int indeks): Akceptuje indeks obiektu, który ma zostać usunięty
  • usuń (obiekt obiektu): Akceptuje obiekt do usunięcia

Rozwiążmy to na podstawie przykładów podanych poniżej:

Przykład:

co to jest znak specjalny

Jawa


przypisy do przecen



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

>

>

Wyjście

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

Teraz widzieliśmy usuwanie elementów z listy ArrayList za pomocą indeksów powyżej, teraz zobaczmy, że przekazany parametr jest uważany za indeks. Jak usunąć elementy według wartości.

Metoda 2: Korzystanie z metody usuwania() według wartości

Przykład:

Jawa

stronniczość i wariancja




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

polecenie rozciągania programu AutoCAD
>

>

Wyjście :

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

Notatka: Nie zaleca się używania metody ArrayList.remove() podczas iteracji po elementach.

Również nowa liczba całkowita (int_value) jest przestarzała od wersji Java 9, dlatego lepszym pomysłem jest użycie Integer.valueOf(int_value) do konwersji pierwotnej liczby całkowitej na obiekt Integer.

Metoda 3: Korzystanie z metody Iterator.remove().

Może to prowadzić do Wyjątek ConcurrentModificationException Podczas iteracji po elementach zaleca się użycie Iterator.usuń() metoda.

Przykład:

Jawa




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

>

>

Wyjście

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