Spec-Zone.ru › OpenJDK 24

Интерфейс 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(), указанным элементом (необязательная операция).

Методы, объявленные в интерфейсе java.util.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. Он может быть выполнен только в том случае, если add(E) не был вызван после последнего вызова next или previous.
Определено в:
remove в интерфейсе Iterator<E>
Исключения:
UnsupportedOperationException - если операция remove не поддерживается этим итератором списка
IllegalStateException - если ни next, ни previous не были вызваны, или remove или add были вызваны после последнего вызова next или previous

set

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

add

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/ListIterator.html

Spec-Zone.ru

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