Рубрики
Без рубрики

Методы удаления списка Java () – Удаление списка ArrayList()

Метод Java List remove() используется для удаления элементов из списка. ArrayList является наиболее широко используемой реализацией интерфейса списка, поэтому

Автор оригинала: Pankaj Kumar.

Метод Java List remove() используется для удаления элементов из списка. ArrayList является наиболее широко используемой реализацией интерфейса списка , поэтому в приведенных здесь примерах будут использоваться методы ArrayList remove ().

Методы удаления списка Java()

Существует два метода удаления() для удаления элементов из списка.

  1. E удалить(индекс int) : Этот метод удаляет элемент с указанным индексом и возвращает его. Последующие элементы сдвигаются влево на одно место. Этот метод вызывает исключение IndexOutOfBoundsException , если указанный индекс находится вне диапазона. Если реализации списка не поддерживают эту операцию, будет выдано исключение UnsupportedOperationException .
  2. логическое удаление(объект o) : Этот метод удаляет первое вхождение указанного объекта. Если список не содержит данного элемента, он остается неизменным. Этот метод возвращает true , если элемент удален из списка, в противном случае false . Если объект равен нулю, а список не поддерживает нулевые элементы, Создается исключение NullPointerException . Исключение UnsupportedOperationException возникает, если реализация списка не поддерживает этот метод.

Примеры методов удаления списка()

Давайте рассмотрим некоторые примеры методов remove ().

1. Удалите элемент с заданным индексом

List list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("C");
list.add("B");
list.add("A");
System.out.println(list);

String removedStr = list.remove(1);
System.out.println(list);
System.out.println(removedStr);

Выход:

[A, B, C, C, B, A]
[A, C, C, B, A]
B

2. Исключение IndexOutOfBoundsException с помощью метода remove(int index)

List list = new ArrayList<>();
list.add("A");
String removedStr = list.remove(10);

Вывод исключений:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 10 out of bounds for length 1
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
	at java.base/java.util.Objects.checkIndex(Objects.java:372)
	at java.base/java.util.ArrayList.remove(ArrayList.java:535)
	at com.journaldev.java.ArrayListRemove.main(ArrayListRemove.java:19)

3. Неизменяемый список удалить() Пример исключения UnsupportedOperationException

Метод List.of() создает неизменяемый список, поэтому использование метода remove() вызовет исключение UnsupportedOperationException.

jshell> List list = List.of("a", "b");
list ==> [a, b]

jshell> list.remove(1);
|  Exception java.lang.UnsupportedOperationException
|        at ImmutableCollections.uoe (ImmutableCollections.java:72)
|        at ImmutableCollections$AbstractImmutableList.remove (ImmutableCollections.java:108)
|        at (#64:1)

jshell> list.remove("a");
|  Exception java.lang.UnsupportedOperationException
|        at ImmutableCollections.uoe (ImmutableCollections.java:72)
|        at ImmutableCollections$AbstractImmutableCollection.remove (ImmutableCollections.java:79)
|        at (#65:1)

jshell>

4. Удаление объекта из списка

List list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("C");
list.add("B");
list.add("A");
System.out.println(list);

boolean isRemoved = list.remove("C");
System.out.println(list);
System.out.println(isRemoved);

isRemoved = list.remove("X");
System.out.println(list);
System.out.println(isRemoved);

Выход:

[A, B, C, C, B, A]
[A, B, C, B, A]
true
[A, B, C, B, A]
false

Рекомендации