предыдущая в List Iterator of Java - PullRequest
       10

предыдущая в List Iterator of Java

0 голосов
/ 07 сентября 2018

Я использую итератор списка Java, и я не понимаю, как работает предыдущий метод. Я получаю следующий элемент связанного списка «B», а затем пытаюсь получить предыдущий элемент «A», но получаю «B».

LinkedList<Character> abc = new LinkedList<Character>();
abc.add('A');
abc.add('B');
ListIterator<Character> iterator = abc.listIterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.previous());

Вывод «A», «B», «B».

Почему это не работает, и как это работает за кулисами?

1 Ответ

0 голосов
/ 07 сентября 2018

Из JavaDocs:

Возвращает предыдущий элемент в списке и перемещает позицию курсора. в обратном направлении. Этот метод может вызываться повторно для итерации список в обратном порядке, или смешанный с вызовами рядом, чтобы идти вперед и назад. (Обратите внимание, что чередующиеся вызовы к следующему и предыдущему вернут одно и то же элемент неоднократно.)

Важной частью здесь является: (Обратите внимание, что чередование вызовов на следующий и предыдущий несколько раз будет возвращать один и тот же элемент.)

...