Метод set
Метод set класса ListIterator заменяет
последний элемент, который был возвращен методами
next или previous, на новый объект.
В качестве параметра метод принимает элемент,
которым нужно заменить текущий. Метод не возвращает
значения, а изменяет содержимое списка на месте.
Если метод set вызывается до того, как был
вызван next или previous, либо после
вызова remove или add, выбрасывается
исключение IllegalStateException.
Синтаксис
listIterator.set(element)
Пример
Давайте заменим первый элемент списка на число
10, используя итератор:
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3, 4, 5);
List<Integer> mutable = new java.util.ArrayList<>(list);
ListIterator<Integer> iter = mutable.listIterator();
iter.next();
iter.set(10);
System.out.println(mutable);
}
}
Результат выполнения кода:
[10, 2, 3, 4, 5]
Пример
Давайте заменим элемент, возвращенный методом
previous, на строку "xyz":
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<String> mutable = new java.util.ArrayList<>(List.of("a", "b", "c", "d", "e"));
ListIterator<String> iter = mutable.listIterator();
iter.next();
iter.next();
iter.previous();
iter.set("xyz");
System.out.println(mutable);
}
}
Результат выполнения кода:
[a, xyz, c, d, e]
Пример
Давайте попробуем вызвать метод set без
предварительного вызова next или
previous и посмотрим, что произойдет:
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<Integer> mutable = new java.util.ArrayList<>(List.of(1, 2, 3, 4, 5));
ListIterator<Integer> iter = mutable.listIterator();
try {
iter.set(10);
} catch (IllegalStateException e) {
System.out.println("IllegalStateException");
}
}
}
Результат выполнения кода:
"IllegalStateException"
Смотрите также
-
класс
ListIterator,
который позволяет перебирать список в обоих направлениях -
метод
add,
который добавляет элемент в список -
метод
remove,
который удаляет последний возвращенный элемент -
метод
previous,
который возвращает предыдущий элемент списка