Метод previous
Метод previous класса ListIterator возвращает
предыдущий элемент списка и сдвигает курсор итератора
на одну позицию назад. Метод не принимает параметров.
Если итератор находится в начале списка и предыдущего
элемента не существует, метод выбрасывает исключение
NoSuchElementException.
Метод previous обычно используется вместе
с методом hasPrevious, который проверяет,
есть ли элемент перед текущей позицией курсора.
Синтаксис
listIterator.previous()
Пример
Давайте создадим список и получим его итератор, установленный в конец списка. Затем пройдёмся по элементам в обратном порядке:
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c", "d", "e");
ListIterator<String> iter = list.listIterator(list.size());
while (iter.hasPrevious())
{
System.out.println(iter.previous());
}
}
}
Результат выполнения кода:
"e"
"d"
"c"
"b"
"a"
Пример
Давайте получим итератор, установленный на второй
элемент списка (индекс 1), и выведем предыдущий
элемент:
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 5));
ListIterator<Integer> iter = list.listIterator(1);
Integer res = iter.previous();
System.out.println(res);
}
}
Результат выполнения кода:
1
Пример
Давайте попробуем вызвать метод previous,
когда курсор итератора находится в самом начале списка:
import java.util.List;
import java.util.ListIterator;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c");
ListIterator<String> iter = list.listIterator();
try
{
iter.previous();
}
catch (Exception e)
{
System.out.println(e.getClass().getSimpleName());
}
}
}
Результат выполнения кода:
"NoSuchElementException"
Смотрите также
-
метод
hasPrevious,
который проверяет наличие предыдущего элемента -
метод
next,
который возвращает следующий элемент -
метод
previousIndex,
который возвращает индекс предыдущего элемента -
класс
ListIterator,
который представляет итератор для списков