Метод hasPrevious
Метод hasPrevious принадлежит интерфейсу ListIterator и используется для проверки наличия предыдущего элемента при обходе списка в обратном направлении. Метод не принимает параметров и возвращает логическое значение: true, если предыдущий элемент существует, и false, если мы достигли начала списка. Этот метод обычно применяется в паре с методом previous для безопасного извлечения элементов.
Синтаксис
boolean hasPrevious()
Пример
Давайте создадим список и получим его итератор, установленный в конец списка. Затем проверим наличие предыдущих элементов и выведем их в обратном порядке:
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> iterator = list.listIterator(list.size());
while (iterator.hasPrevious())
{
System.out.println(iterator.previous());
}
}
}
Результат выполнения кода:
"e"
"d"
"c"
"b"
"a"
Пример
Давайте проверим поведение метода hasPrevious в начале списка. После того как мы дойдём до первого элемента и вызовем previous, курсор окажется перед первым элементом, и hasPrevious вернёт false:
import java.util.ArrayList;
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);
ListIterator<Integer> iterator = list.listIterator(list.size());
while (iterator.hasPrevious())
{
System.out.println(iterator.previous());
}
System.out.println(iterator.hasPrevious());
}
}
Результат выполнения кода:
5
4
3
2
1
false
Смотрите также
-
метод
previous,
который возвращает предыдущий элемент -
метод
nextIndex,
который возвращает индекс следующего элемента -
метод
previousIndex,
который возвращает индекс предыдущего элемента -
интерфейс
hasNext,
который проверяет наличие следующего элемента