Spec-Zone.ru › OpenJDK 25

Интерфейс ListIterator<E>

Параметры типа:
E - тип элементов, возвращаемых этим итератором списка
Все суперинтерфейсы:
Iterator<E>
public interface ListIterator<E> extends Iterator<E>
Итератор для списков, который позволяет программисту перемещаться по списку в обоих направлениях, изменять список во время итерации и получать текущую позицию итератора в списке. У ListIterator нет текущего элемента; его позиция курсора всегда находится между элементом, который был бы возвращён вызовом previous(), и элементом, который был бы возвращён вызовом next(). Итератор списка длины n имеет n+1 возможных позиций курсора, как показано ниже с помощью символов вставки (^):
                     Element(0)   Element(1)   Element(2)   ... Element(n-1)
cursor positions:  ^            ^            ^            ^                  ^
Обратите внимание, что методы remove() и set(Object) не определяются относительно позиции курсора; они работают с последним элементом, возвращённым вызовом next() или previous().

Этот интерфейс является частью Java Collections Framework.

Начиная с версии:
1.2
См. также:
  • Collection
  • List
  • Iterator
  • Enumeration
  • List.listIterator()

Краткое описание методов

Модификатор и тип Метод Описание
void add(E e)
Вставляет указанный элемент в список (необязательная операция).
boolean hasNext()
Возвращает true, если при перемещении по списку вперёд у этого итератора списка есть следующие элементы.
boolean hasPrevious()
Возвращает true, если при перемещении по списку назад у этого итератора списка есть предыдущие элементы.
E next()
Возвращает следующий элемент списка и перемещает позицию курсора вперёд.
int nextIndex()
Возвращает индекс элемента, который будет возвращён последующим вызовом next().
E previous()
Возвращает предыдущий элемент списка и перемещает позицию курсора назад.
int previousIndex()
Возвращает индекс элемента, который будет возвращён последующим вызовом previous().
void remove()
Удаляет из списка последний элемент, возвращённый вызовом next() или previous() (необязательная операция).
void set(E e)
Заменяет последний элемент, возвращённый вызовом next() или previous(), указанным элементом (необязательная операция).

Методы, объявленные в интерфейсе Iterator

forEachRemaining

Подробное описание методов

hasNext

boolean hasNext()
Возвращает true, если при перемещении по списку вперёд у этого итератора списка есть следующие элементы. (Другими словами, возвращает true, если next() вернёт элемент, а не вызовет исключение.)
Определено в:
hasNext в интерфейсе Iterator<E>
Возвращает:
true, если при перемещении по списку вперёд у итератора списка есть следующие элементы

next

E next()
Возвращает следующий элемент списка и перемещает позицию курсора вперёд. Этот метод можно вызывать многократно для обхода списка или чередовать его вызовы с вызовами previous() для перемещения в обоих направлениях. (Обратите внимание, что чередующиеся вызовы next и previous будут многократно возвращать один и тот же элемент.)
Определено в:
next в интерфейсе Iterator<E>
Возвращает:
следующий элемент списка
Выбрасывает:
NoSuchElementException - если в итерации нет следующего элемента

hasPrevious

boolean hasPrevious()
Возвращает true, если при перемещении по списку назад у этого итератора списка есть предыдущие элементы. (Другими словами, возвращает true, если previous() вернёт элемент, а не вызовет исключение.)
Возвращает:
true, если при перемещении по списку назад у итератора списка есть предыдущие элементы

previous

E previous()
Возвращает предыдущий элемент списка и перемещает позицию курсора назад. Этот метод можно вызывать многократно для обхода списка в обратном направлении или чередовать его вызовы с вызовами next() для перемещения в обоих направлениях. (Обратите внимание, что чередующиеся вызовы next и previous будут многократно возвращать один и тот же элемент.)
Возвращает:
предыдущий элемент списка
Выбрасывает:
NoSuchElementException - если в итерации нет предыдущего элемента

nextIndex

int nextIndex()
Возвращает индекс элемента, который будет возвращён последующим вызовом next(). (Если итератор списка находится в конце списка, возвращается размер списка.)
Возвращает:
индекс элемента, который будет возвращён последующим вызовом next, или размер списка, если итератор списка находится в конце списка

previousIndex

int previousIndex()
Возвращает индекс элемента, который будет возвращён последующим вызовом previous(). (Если итератор списка находится в начале списка, возвращается -1.)
Возвращает:
индекс элемента, который будет возвращён последующим вызовом previous, или -1, если итератор списка находится в начале списка

remove

void remove()
Удаляет из списка последний элемент, возвращённый вызовом next() или previous() (необязательная операция). Этот вызов можно выполнить только один раз для каждого вызова next или previous. Его можно выполнить только в том случае, если после последнего вызова next или previous не был вызван метод add(E).
Определено в:
remove в интерфейсе Iterator<E>
Выбрасывает:
UnsupportedOperationException - если эта операция remove не поддерживается данным итератором списка
IllegalStateException - если не вызывался ни next, ни previous, или если после последнего вызова next или previous вызывался метод remove или add

set

void set(E e)
Заменяет последний элемент, возвращённый вызовом next() или previous(), указанным элементом (необязательная операция). Этот вызов можно выполнить только в том случае, если после последнего вызова next или previous не вызывались ни remove(), ни add(E).
Параметры:
e - элемент, которым заменяется последний элемент, возвращённый вызовом next или previous
Выбрасывает:
UnsupportedOperationException - если эта операция set не поддерживается данным итератором списка
ClassCastException - если класс указанного элемента не позволяет добавить его в этот список
IllegalArgumentException - если какой-либо аспект указанного элемента не позволяет добавить его в этот список
IllegalStateException - если не вызывался ни next, ни previous, или если после последнего вызова next или previous вызывался метод remove или add

add

void add(E e)
Вставляет указанный элемент в список (необязательная операция). Элемент вставляется непосредственно перед элементом, который, если он существует, будет возвращён вызовом next(), и после элемента, который, если он существует, будет возвращён вызовом previous(). (Если список не содержит элементов, новый элемент становится единственным элементом списка.) Новый элемент вставляется перед неявным курсором: последующий вызов next не будет затронут, а последующий вызов previous вернёт новый элемент. (Этот вызов увеличивает на единицу значение, которое было бы возвращено вызовом nextIndex или previousIndex.)
Параметры:
e - вставляемый элемент
Выбрасывает:
UnsupportedOperationException - если метод add не поддерживается данным итератором списка
ClassCastException - если класс указанного элемента не позволяет добавить его в этот список
IllegalArgumentException - если какой-либо аспект этого элемента не позволяет добавить его в этот список

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ListIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API