Класс ElementIterator
- Все реализуемые интерфейсы:
Cloneable
public class ElementIterator extends Object implements Cloneable
ElementIterator, как следует из названия, итерирует по дереву Element. Конструктор можно вызвать, передав либо Document либо Element в качестве аргумента. Если конструктор вызван с Document в качестве аргумента, то корнем итерации является значение, возвращаемое document.getDefaultRootElement(). Итерация происходит в порядке глубины. Что касается обработки граничных условий:
- если метод
next()вызывается до вызоваfirst()илиcurrent(), возвращается корень -
next()возвращаетnullдля обозначения конца списка -
previous()возвращаетnull, когда текущий элемент является корнем илиnext()вернулnull
Класс ElementIterator не блокирует дерево Element. Это означает, что он не отслеживает никаких изменений. Ответственность пользователя этого класса заключается в обеспечении отсутствия изменений во время итерации по элементам.
Пример простого использования:
public void iterate() {
ElementIterator it = new ElementIterator(root);
Element elem;
while (true) {
if ((elem = it.next()) != null) {
// process element
System.out.println("elem: " + elem.getName());
} else {
break;
}
}
}
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ElementIterator |
Создает новый ElementIterator. |
ElementIterator |
Создает новый ElementIterator. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Клонирует ElementIterator. |
Element |
current() |
Возвращает текущий Element. |
int |
depth() |
Возвращает текущую глубину дерева элементов. |
Element |
first() |
Возвращает первый элемент. |
Element |
next() |
Возвращает следующий Element. |
Element |
previous() |
Возвращает предыдущий Element. |
Подробное описание конструкторов
ElementIterator
public ElementIterator(Document document)
ElementIterator. Корневой элемент используется для получения корневого элемента по умолчанию документа.- Параметры:
-
document-Document
ElementIterator
public ElementIterator(Element root)
ElementIterator.- Параметры:
-
root- корневойElement
Подробное описание методов
clone
public Object clone()
ElementIterator.- Overrides:
-
cloneв классеObject - Возвращает:
- объект
ElementIteratorObject - См. также:
first
public Element first()
- Возвращает:
Element
depth
public int depth()
- Возвращает:
- глубину
current
public Element current()
Element.- Возвращает:
- элемент на вершине стека или
nullесли корневой элементnull
next
public Element next()
Element. Используется стратегия поиска в глубину для нахождения следующего элемента.- Возвращает:
- следующий элемент или
nullв конце списка
previous
public Element previous()
Element. Если же текущий элемент является последним элементом, или текущий элемент null, то возвращается null.- Возвращает:
- предыдущий
Elementесли доступен
© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/ElementIterator.html