logo

Як видалити елемент із ArrayList у Java?

ArrayList є частиною рамка колекції і присутній у пакеті java.util. Він надає нам динамічні масиви в Java. Хоча це може бути повільніше, ніж стандартні масиви, але може бути корисним у програмах, де потрібно багато маніпулювати масивом. Цей клас знаходиться в java.util пакет. З появою та оновленнями у версіях Java новіші методи стають доступними, якщо ми бачимо з Java8 сприйнятливі лямбда-вирази та концепції потоків були недоступні до цього, оскільки вони були представлені у версії java 8, тому у нас є більше способів працювати над Arraylist для виконувати операції. Тут ми обговоримо спосіб видалення елемента зі списку ArrayList.

Видаляючи елементи зі списку ArrayList, ми можемо працювати над видаленням елементів через індекси або через значення в ArrayList. Ми будемо обговорювати обидва способи через інтерпретацію через чисту програму Java.

Методи:



Є 3 способи видалити елемент із ArrayList у списку, який пізніше буде розкрито наступним чином:

  1. Використання методу remove() за індексами (за замовчуванням)
  2. Використання методу remove() за значеннями
  3. Використання методу remove() над ітераторами

Примітка: Не рекомендується використовувати ArrayList.remove() під час повторення елементів.

Спосіб 1: Використання методу remove() за індексами

Це метод за замовчуванням, як тільки ми використовуємо будь-який метод над структурою даних, він в основному працює лише над індексами, тому щоразу, коли ми використовуємо метод remove(), ми в основному видаляємо елементи з індексів зі списку ArrayList.

Клас ArrayList надає два перевантажених методу remove().

  • remove(int index): приймає індекс об’єкта, який потрібно видалити
  • remove(Object obj): приймає об’єкт, який потрібно видалити

Давайте розберемося за допомогою наведених нижче прикладів:

приклад:

число паліндрому

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

>

>

Вихід

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

Тепер ми бачили видалення елементів у ArrayList за допомогою індексів вище, тепер давайте побачимо, що переданий параметр вважається індексом. Як видалити елементи за значенням.

Спосіб 2: Використання методу remove() за значеннями

діана анкудінова

приклад:

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

>

>

Вихід:

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

Примітка: Не рекомендується використовувати ArrayList.remove() під час повторення елементів.

Крім того, новий Integer( int_value) застарів з Java 9, тому краще використовувати Integer.valueOf(int_value) для перетворення примітивного цілого числа в Integer Object.

Спосіб 3: Використання методу Iterator.remove().

Це може призвести до ConcurrentModificationException Під час повторення елементів рекомендується використовувати Iterator.remove() метод.

список шрифтів у gimp

приклад:

Java




if else цикл у 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);> >}> }>

>

>

Вихід

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