ArrayList подібний до масиву, розмір якого можна змінювати. Клас ArrayList доступний у java.util пакет і розширює Список інтерфейс . Додавати та видаляти елемент зі списку ArrayList дуже легко за допомогою його вбудованих методів додати() і видалити() . Однак існує більше одного способу вилучити елемент зі списку ArrayList, а саме:
метод перемикання java
- Використання методу ArrayList.remove().
- За індексом.
- За елементом
- Використання методу Iterator.remove().
- Використання методу ArrayList.removeIf().
Усі ці три способи найкращі самі по собі, і їх можна використовувати в різних сценаріях. Давайте розберемося в усіх цих трьох способах один за іншим.
Метод ArrayList.remove().
Використовуючи видалити() метод Клас ArrayList це найшвидший спосіб видалення або видалення елемента зі списку ArrayList. Він також надає два перевантажені методи, тобто видалити (індекс) і видалити (Object obj) . The видалити (індекс) метод приймає індекс об'єкта, який потрібно видалити, і видалити (Object obj) метод приймає об'єкт, який потрібно видалити.
Розглянемо приклад, щоб зрозуміти, як видалити() використовується метод.
RemoveMethod.java
import java.util.ArrayList; public class RemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing element available at position 1 arr.remove(1); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
Вихід:
Давайте візьмемо інший приклад, щоб зрозуміти, як видалити() метод використовується для видалення зазначеного елемента зі списку ArrayList.
RemoveElementMethod.java
c код абс
import java.util.ArrayList; public class RemoveElementMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing the specified element from ArrayList arr.remove('Paul'); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
Вихід:
git pull origin master
Метод Iterator.remove().
The Iterator.remove() це інший спосіб видалення елемента зі списку ArrayList. Це не дуже корисно у випадку повторення елементів. Коли ми використовуємо метод remove() під час ітерації елементів, він викидає ConcurrentModificationException . The Ітератор клас належним чином видаляє елементи під час ітерації ArrayList.
Розглянемо приклад, щоб зрозуміти, як використовується метод Iterator.remove().
IteratorRemoveMethod.java
import java.util.ArrayList; import java.util.Iterator; public class iteratorRemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList numbers = new ArrayList(10); // Adding elements to the ArrayList numbers.add(12); numbers.add(1); numbers.add(8); numbers.add(5); numbers.add(9); System.out.println('The list of the size is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } // Removing elements greater than 10 using remove() method Iterator itr = numbers.iterator(); while (itr.hasNext()) { int data = (Integer)itr.next(); if (data > 10) itr.remove(); } System.out.println(' After removing the element the size of the ArrayList is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } } }
Вихід:
межа за допомогою css
Метод ArrayList.removeIf().
Якщо ми хочемо видалити елемент зі списку ArrayList, який задовольняє фільтр предикатів, то removeIf() Метод найкраще підходить для цього випадку. Ми передаємо фільтр предикатів цьому методу як аргумент.
Розглянемо приклад, щоб зрозуміти, як removeIf() використовується метод.
RemoveIfMethod.java
import java.util.ArrayList; public class RemoveIfMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList cities = new ArrayList(10); // Adding elements to the ArrayList cities.add('Berlin'); cities.add('Bilbao'); cities.add('Cape Town'); cities.add('Nazilli'); cities.add('Uribia'); cities.add('Gliwice'); System.out.println('The list of the size is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } // Removing elements which are start with B using removeIf() method cities.removeIf(n -> (n.charAt(0) == 'B')); System.out.println(' After removing the element the size of the ArrayList is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } } }
Вихід:
Усі описані вище методи використовуються для різних сценаріїв. Використання методу ArrayList.remove() є найшвидшим способом видалення елемента зі списку ArrayList.