Класс DefaultMutableTreeNode
- Все реализуемые интерфейсы:
Serializable, Cloneable, MutableTreeNode, TreeNode
- Прямые известные подклассы:
JTree.DynamicUtilTreeNode
public class DefaultMutableTreeNode extends Object implements Cloneable, MutableTreeNode, Serializable
DefaultMutableTreeNode — это универсальный узел в древовидной структуре данных. Примеры использования стандартных изменяемых узлов дерева приведены в разделе Как использовать деревья в Руководстве по Java. У узла дерева может быть не более одного родителя и ноль или более дочерних узлов. DefaultMutableTreeNode предоставляет операции для просмотра и изменения родителя и дочерних узлов, а также операции для просмотра дерева, частью которого является узел. Дерево узла — это множество всех узлов, до которых можно добраться, начав с данного узла и пройдя по всем возможным связям с родителями и дочерними узлами. Узел без родителя является корнем своего дерева; узел без дочерних узлов является листом. Дерево может состоять из множества поддеревьев, каждый узел при этом служит корнем собственного поддерева.
Этот класс предоставляет перечисления для эффективного обхода дерева или поддерева в различных порядках, а также для прохода по пути между двумя узлами. DefaultMutableTreeNode может также хранить ссылку на пользовательский объект, назначение которого определяется пользователем. Вызов toString() для получения строкового представления DefaultMutableTreeNode возвращает строковое представление его пользовательского объекта.
Этот класс не является потокобезопасным.Если вы намерены использовать DefaultMutableTreeNode (или дерево TreeNodes) в нескольких потоках, необходимо самостоятельно выполнять синхронизацию. Рекомендуется синхронизироваться на корневом узле дерева.
Хотя DefaultMutableTreeNode реализует интерфейс MutableTreeNode и позволяет добавлять любые реализации MutableTreeNode, не все методы DefaultMutableTreeNode применимы ко всем реализациям MutableTreeNode. В частности, при использовании некоторых предоставляемых перечислений предполагается, что DefaultMutableTreeNode содержит только экземпляры DefaultMutableNode. Все методы TreeNode/MutableTreeNode работают в соответствии с определением независимо от добавленных реализаций.
Предупреждение: сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
allowsChildren |
значение true, если узел может иметь дочерние узлы |
protected Vector |
children |
массив дочерних узлов; может быть null, если у этого узла нет дочерних узлов |
static final Enumeration |
EMPTY_ENUMERATION |
Перечисление, которое всегда пусто. |
protected MutableTreeNode |
parent |
родитель этого узла или null, если у этого узла нет родителя |
protected Object |
userObject |
необязательный пользовательский объект |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultMutableTreeNode() |
Создает узел дерева без родителя и дочерних узлов, но допускающий наличие дочерних узлов. |
DefaultMutableTreeNode |
Создает узел дерева без родителя и дочерних узлов, допускающий наличие дочерних узлов, и инициализирует его указанным пользовательским объектом. |
DefaultMutableTreeNode |
Создает узел дерева без родителя и дочерних узлов, инициализированный указанным пользовательским объектом; наличие дочерних узлов допускается только в том случае, если это указано. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Удаляет newChild из родительского узла и добавляет его в конец массива дочерних узлов этого узла, делая его дочерним узлом данного узла. |
Enumeration |
breadthFirstEnumeration() |
Создает и возвращает перечисление для обхода поддерева с корнем в этом узле в ширину. |
Enumeration |
children() |
Создает и возвращает перечисление дочерних узлов этого узла в прямом порядке. |
Object |
clone() |
Переопределен, чтобы сделать clone открытым. |
Enumeration |
depthFirstEnumeration() |
Создает и возвращает перечисление для обхода поддерева с корнем в этом узле в глубину. |
boolean |
getAllowsChildren() |
Возвращает true, если у этого узла могут быть дочерние узлы. |
TreeNode |
getChildAfter |
Возвращает дочерний узел из массива дочерних узлов этого узла, непосредственно следующий за aChild, который должен быть дочерним узлом данного узла. |
TreeNode |
getChildAt |
Возвращает дочерний узел с указанным индексом в массиве дочерних узлов этого узла. |
TreeNode |
getChildBefore |
Возвращает дочерний узел из массива дочерних узлов этого узла, непосредственно предшествующий aChild, который должен быть дочерним узлом данного узла. |
int |
getChildCount() |
Возвращает количество дочерних узлов этого узла. |
int |
getDepth() |
Возвращает глубину дерева с корнем в этом узле — максимальное расстояние от этого узла до листа. |
TreeNode |
getFirstChild() |
Возвращает первый дочерний узел этого узла. |
DefaultMutableTreeNode |
getFirstLeaf() |
Находит и возвращает первый лист, являющийся потомком этого узла, — это либо сам узел, либо первый лист первого дочернего узла. |
int |
getIndex |
Возвращает индекс указанного дочернего узла в массиве дочерних узлов этого узла. |
TreeNode |
getLastChild() |
Возвращает последний дочерний узел этого узла. |
DefaultMutableTreeNode |
getLastLeaf() |
Находит и возвращает последний лист, являющийся потомком этого узла, — это либо сам узел, либо последний лист последнего дочернего узла. |
int |
getLeafCount() |
Возвращает общее количество листьев, являющихся потомками этого узла. |
int |
getLevel() |
Возвращает количество уровней над этим узлом — расстояние от корня до этого узла. |
DefaultMutableTreeNode |
getNextLeaf() |
Возвращает лист, следующий за этим узлом, или null, если этот узел является последним листом дерева. |
DefaultMutableTreeNode |
getNextNode() |
Возвращает узел, следующий за этим узлом при прямом обходе дерева этого узла. |
DefaultMutableTreeNode |
getNextSibling() |
Возвращает следующий соседний узел этого узла в массиве дочерних узлов родителя. |
TreeNode |
getParent() |
Возвращает родителя этого узла или null, если у этого узла нет родителя. |
TreeNode[] |
getPath() |
Возвращает путь от корня к этому узлу. |
protected TreeNode[] |
getPathToRoot |
Формирует массив родителей узла вплоть до корневого узла включительно; исходный узел является последним элементом возвращаемого массива. |
DefaultMutableTreeNode |
getPreviousLeaf() |
Возвращает лист, предшествующий этому узлу, или null, если этот узел является первым листом дерева. |
DefaultMutableTreeNode |
getPreviousNode() |
Возвращает узел, предшествующий этому узлу при прямом обходе дерева этого узла. |
DefaultMutableTreeNode |
getPreviousSibling() |
Возвращает предыдущий соседний узел этого узла в массиве дочерних узлов родителя. |
TreeNode |
getRoot() |
Возвращает корень дерева, содержащего этот узел. |
TreeNode |
getSharedAncestor |
Возвращает ближайшего общего предка этого узла и aNode. |
int |
getSiblingCount() |
Возвращает количество соседних узлов этого узла. |
Object |
getUserObject() |
Возвращает пользовательский объект этого узла. |
Object[] |
getUserObjectPath() |
Возвращает путь из пользовательских объектов от корня к этому узлу. |
void |
insert |
Удаляет newChild из текущего родителя (если он есть), назначает родителем дочернего узла этот узел, а затем добавляет дочерний узел в массив дочерних узлов этого узла по индексу childIndex. |
boolean |
isLeaf() |
Возвращает true, если у этого узла нет дочерних узлов. |
boolean |
isNodeAncestor |
Возвращает true, если anotherNode является предком этого узла, то есть если это сам данный узел, его родитель или предок его родителя. |
boolean |
isNodeChild |
Возвращает true, если aNode является дочерним узлом данного узла. |
boolean |
isNodeDescendant |
Возвращает true, если anotherNode является потомком этого узла, то есть если это сам данный узел, один из его дочерних узлов или потомок одного из его дочерних узлов. |
boolean |
isNodeRelated |
Возвращает true тогда и только тогда, когда aNode находится в том же дереве, что и этот узел. |
boolean |
isNodeSibling |
Возвращает true, если anotherNode является соседним узлом этого узла (имеет того же родителя). |
boolean |
isRoot() |
Возвращает true, если этот узел является корнем дерева. |
Enumeration |
pathFromAncestorEnumeration |
Создает и возвращает перечисление, проходящее по пути от ancestor к этому узлу. |
Enumeration |
postorderEnumeration() |
Создает и возвращает перечисление для обхода поддерева с корнем в этом узле в обратном порядке. |
Enumeration |
preorderEnumeration() |
Создает и возвращает перечисление для обхода поддерева с корнем в этом узле в прямом порядке. |
void |
remove |
Удаляет дочерний узел с указанным индексом из списка дочерних узлов этого узла и присваивает родителю этого узла значение null. |
void |
remove |
Удаляет aChild из массива дочерних узлов этого узла, присваивая ему родителя null. |
void |
removeAllChildren() |
Удаляет все дочерние узлы этого узла, присваивая их родителям значение null. |
void |
removeFromParent() |
Удаляет поддерево с корнем в этом узле из дерева, присваивая родителю этого узла значение null. |
void |
setAllowsChildren |
Определяет, разрешено ли этому узлу иметь дочерние узлы. |
void |
setParent |
Назначает родителем этого узла newParent, но не изменяет массив дочерних узлов родителя. |
void |
setUserObject |
Назначает пользовательским объектом этого узла userObject. |
String |
toString() |
Возвращает результат вызова toString() для пользовательского объекта этого узла или пустую строку, если у узла нет пользовательского объекта. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
EMPTY_ENUMERATION
public static final Enumeration<TreeNode> EMPTY_ENUMERATION
parent
protected MutableTreeNode parent
children
protected Vector<TreeNode> children
userObject
protected transient Object userObject
allowsChildren
protected boolean allowsChildren
Подробное описание конструкторов
DefaultMutableTreeNode
public DefaultMutableTreeNode()
DefaultMutableTreeNode
public DefaultMutableTreeNode(Object userObject)
- Параметры:
-
userObject— объект Object, предоставленный пользователем и содержащий данные узла
DefaultMutableTreeNode
public DefaultMutableTreeNode(Object userObject, boolean allowsChildren)
- Параметры:
-
userObject— объект Object, предоставленный пользователем и содержащий данные узла -
allowsChildren— если значение true, узел может иметь дочерние узлы; в противном случае он всегда является листовым узлом
Подробное описание методов
insert
public void insert(MutableTreeNode newChild, int childIndex)
newChild из его текущего родителя (если он есть), назначает этому узлу роль родителя дочернего узла, а затем добавляет дочерний узел в массив дочерних узлов этого узла по индексу childIndex. newChild не должен быть null и не должен быть предком этого узла.- Определено в:
-
insertв интерфейсеMutableTreeNode - Параметры:
-
newChild— MutableTreeNode, который нужно вставить в этот узел -
childIndex— индекс в массиве дочерних узлов этого узла, по которому нужно вставить узел - Исключения:
-
ArrayIndexOutOfBoundsException— еслиchildIndexвыходит за допустимые границы -
IllegalArgumentException— еслиnewChildравен null или является предком этого узла -
IllegalStateException— если этот узел не допускает наличие дочерних узлов - См. также:
remove
public void remove(int childIndex)
MutableTreeNode.- Определено в:
-
removeв интерфейсеMutableTreeNode - Параметры:
-
childIndex— индекс дочернего узла, который нужно удалить, в массиве дочерних узлов этого узла - Исключения:
-
ArrayIndexOutOfBoundsException— еслиchildIndexвыходит за допустимые границы
setParent
public void setParent(MutableTreeNode newParent)
newParent родителем этого узла, но не изменяет массив дочерних узлов родителя. Этот метод вызывается из insert() и remove() для переназначения родителя дочернего узла; его не следует вызывать где-либо ещё.- Определено в:
-
setParentв интерфейсеMutableTreeNode - Параметры:
-
newParent— новый родитель этого узла
getParent
getChildAt
public TreeNode getChildAt(int index)
- Определено в:
-
getChildAtв интерфейсеTreeNode - Параметры:
-
index— индекс в массиве дочерних узлов этого узла - Возвращает:
- TreeNode из массива дочерних узлов этого узла с указанным индексом
- Исключения:
-
ArrayIndexOutOfBoundsException— еслиindexвыходит за допустимые границы
getChildCount
public int getChildCount()
- Определено в:
-
getChildCountв интерфейсеTreeNode - Возвращает:
- значение типа int, указывающее количество дочерних узлов этого узла
getIndex
public int getIndex(TreeNode aChild)
-1. Этот метод выполняет линейный поиск и имеет сложность O(n), где n — количество дочерних узлов.- Определено в:
-
getIndexв интерфейсеTreeNode - Параметры:
-
aChild— TreeNode, который нужно найти среди дочерних узлов этого узла - Возвращает:
- значение типа int, указывающее индекс узла в массиве дочерних узлов этого узла, или
-1, если указанный узел не является дочерним для этого узла - Исключения:
-
IllegalArgumentException— еслиaChildравен null
children
public Enumeration<TreeNode> children()
setAllowsChildren
public void setAllowsChildren(boolean allows)
allows имеет значение false, все дочерние узлы этого узла удаляются. Примечание: по умолчанию узлу разрешено иметь дочерние узлы.
- Параметры:
-
allows— true, если этому узлу разрешено иметь дочерние узлы
getAllowsChildren
public boolean getAllowsChildren()
- Определено в:
-
getAllowsChildrenв интерфейсеTreeNode - Возвращает:
- true, если этому узлу разрешено иметь дочерние узлы; в противном случае false
setUserObject
public void setUserObject(Object userObject)
userObject.- Определено в:
-
setUserObjectв интерфейсеMutableTreeNode - Параметры:
-
userObject— объект Object, содержащий данные этого узла, заданные пользователем - См. также:
getUserObject
public Object getUserObject()
- Возвращает:
- объект Object, сохранённый пользователем в этом узле
- См. также:
removeFromParent
public void removeFromParent()
- Определено в:
-
removeFromParentв интерфейсеMutableTreeNode
remove
public void remove(MutableTreeNode aChild)
aChild из массива дочерних узлов этого узла, устанавливая для него значение null в качестве родителя.- Определено в:
-
removeв интерфейсеMutableTreeNode - Параметры:
-
aChild— дочерний узел, который нужно удалить из этого узла - Исключения:
-
IllegalArgumentException— еслиaChildравен null или не является дочерним для этого узла
removeAllChildren
public void removeAllChildren()
add
public void add(MutableTreeNode newChild)
newChild из его родителя и добавляет его в конец массива дочерних узлов этого узла, делая его дочерним узлом этого узла.- Параметры:
-
newChild— узел, который нужно добавить в качестве дочернего для этого узла - Исключения:
-
IllegalArgumentException— еслиnewChildравен null -
IllegalStateException— если этому узлу не разрешено иметь дочерние узлы - См. также:
isNodeAncestor
public boolean isNodeAncestor(TreeNode anotherNode)
anotherNode является предком этого узла: если это сам данный узел, его родитель или предок его родителя. (Обратите внимание, что узел считается предком самого себя.) Если anotherNode равен null, этот метод возвращает false. В худшем случае сложность операции составляет O(h), где h — расстояние от корня до этого узла.- Параметры:
-
anotherNode— узел, который нужно проверить на роль предка этого узла - Возвращает:
- true, если этот узел является потомком
anotherNode - См. также:
isNodeDescendant
public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)
anotherNode является потомком этого узла: если это сам данный узел, один из его дочерних узлов или потомок одного из его дочерних узлов. Обратите внимание, что узел считается потомком самого себя. Если anotherNode равен null, возвращает false. В худшем случае сложность операции составляет O(h), где h — расстояние от корня до anotherNode.- Параметры:
-
anotherNode— узел, который нужно проверить на роль потомка этого узла - Возвращает:
- true, если этот узел является предком
anotherNode - См. также:
isNodeRelated
public boolean isNodeRelated(DefaultMutableTreeNode aNode)
aNode находится в том же дереве, что и этот узел. Возвращает false, если aNode равен null.- Параметры:
-
aNode— узел, для которого нужно найти общего предка - Возвращает:
- true, если
aNodeнаходится в том же дереве, что и этот узел; false, еслиaNodeравен null - См. также:
getDepth
public int getDepth()
getLevel(), поскольку фактически требует обхода всего дерева с корнем в этом узле.- Возвращает:
- глубину дерева, корнем которого является этот узел
- См. также:
getLevel
public int getLevel()
- Возвращает:
- количество уровней над этим узлом
- См. также:
getPath
public TreeNode[] getPath()
- Возвращает:
- массив объектов TreeNode, задающий путь, где первый элемент — корень, а последний — этот узел.
getPathToRoot
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
- Параметры:
-
aNode— TreeNode, для которого нужно получить путь -
depth— значение типа int, указывающее количество шагов к корню, уже пройденных при рекурсивных вызовах; используется для определения размера возвращаемого массива - Возвращает:
- массив TreeNode, задающий путь от корня до указанного узла
getUserObjectPath
public Object[] getUserObjectPath()
- Возвращает:
- путь пользовательских объектов от корня к этому узлу
getRoot
public TreeNode getRoot()
- Возвращает:
- корень дерева, содержащего этот узел
- См. также:
isRoot
public boolean isRoot()
- Возвращает:
- true, если этот узел является корнем своего дерева
getNextNode
public DefaultMutableTreeNode getNextNode()
- Возвращает:
- узел, следующий за этим узлом при прямом обходе, или null, если этот узел последний
- См. также:
getPreviousNode
public DefaultMutableTreeNode getPreviousNode()
null, если этот узел является первым при обходе — корнем дерева. Это неэффективный способ обхода всего дерева; вместо него используйте перечисление.- Возвращает:
- узел, предшествующий этому узлу при прямом обходе, или null, если этот узел первый
- См. также:
preorderEnumeration
public Enumeration<TreeNode> preorderEnumeration()
nextElement() перечисления возвращает этот узел первым.Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Возвращает:
- перечисление для прямого обхода дерева
- См. также:
postorderEnumeration
public Enumeration<TreeNode> postorderEnumeration()
nextElement() перечисления первым возвращает самый левый листовой узел. Это эквивалентно обходу в глубину.Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Возвращает:
- перечисление для обратного обхода дерева
- См. также:
breadthFirstEnumeration
public Enumeration<TreeNode> breadthFirstEnumeration()
nextElement() перечисления возвращает этот узел первым.Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Возвращает:
- перечисление для обхода дерева в ширину
- См. также:
depthFirstEnumeration
public Enumeration<TreeNode> depthFirstEnumeration()
nextElement() перечисления первым возвращает самый левый листовой узел. Это эквивалентно обратному обходу.Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Возвращает:
- перечисление для обхода дерева в глубину
- См. также:
pathFromAncestorEnumeration
public Enumeration<TreeNode> pathFromAncestorEnumeration(TreeNode ancestor)
ancestor к этому узлу. Метод nextElement() перечисления сначала возвращает ancestor, затем дочерний узел ancestor, являющийся предком этого узла, и так далее, а в конце возвращает этот узел. Создание перечисления имеет сложность O(m), где m — количество узлов между этим узлом и ancestor включительно. Каждый вызов nextElement() имеет сложность O(1).Изменение дерева путём вставки, удаления или перемещения узла делает недействительными все перечисления, созданные до изменения.
- Параметры:
-
ancestor— узел, с которого начинается перечисление - Возвращает:
- перечисление для прохождения по пути от предка этого узла до самого узла
- Исключения:
-
IllegalArgumentException— еслиancestorне является предком этого узла - См. также:
isNodeChild
public boolean isNodeChild(TreeNode aNode)
aNode является дочерним узлом этого узла. Если aNode равен null, этот метод возвращает false.- Параметры:
-
aNode— узел, для которого нужно определить, является ли он дочерним - Возвращает:
- true, если
aNodeявляется дочерним узлом этого узла; false, еслиaNodeравен null
getFirstChild
public TreeNode getFirstChild()
- Возвращает:
- первый дочерний узел этого узла
- Исключения:
-
NoSuchElementException— если у этого узла нет дочерних узлов
getLastChild
public TreeNode getLastChild()
- Возвращает:
- последний дочерний узел этого узла
- Исключения:
-
NoSuchElementException— если у этого узла нет дочерних узлов
getChildAfter
public TreeNode getChildAfter(TreeNode aChild)
aChild, который должен быть дочерним узлом этого узла. Если aChild является последним дочерним узлом, возвращает null. Этот метод выполняет линейный поиск aChild среди дочерних узлов этого узла и имеет сложность O(n), где n — количество дочерних узлов; для обхода всего массива дочерних узлов используйте перечисление.- Параметры:
-
aChild— дочерний узел, после которого нужно найти следующий дочерний узел - Возвращает:
- дочерний узел этого узла, непосредственно следующий за
aChild - Исключения:
-
IllegalArgumentException— еслиaChildравен null или не является дочерним для этого узла - См. также:
getChildBefore
public TreeNode getChildBefore(TreeNode aChild)
aChild, который должен быть дочерним узлом этого узла. Если aChild является первым дочерним узлом, возвращает null. Этот метод выполняет линейный поиск aChild среди дочерних узлов этого узла и имеет сложность O(n), где n — количество дочерних узлов.- Параметры:
-
aChild— дочерний узел, перед которым нужно найти предыдущий дочерний узел - Возвращает:
- дочерний узел этого узла, непосредственно предшествующий
aChild - Исключения:
-
IllegalArgumentException— еслиaChildравен null или не является дочерним для этого узла
isNodeSibling
public boolean isNodeSibling(TreeNode anotherNode)
anotherNode является соседним узлом этого узла (имеет того же родителя). Узел является соседним узлом самому себе. Если anotherNode равен null, возвращает false.- Параметры:
-
anotherNode— узел, который нужно проверить на роль соседнего для этого узла - Возвращает:
- true, если
anotherNodeявляется соседним узлом этого узла
getSiblingCount
public int getSiblingCount()
1).- Возвращает:
- количество соседних узлов этого узла
getNextSibling
public DefaultMutableTreeNode getNextSibling()
- Возвращает:
- соседний узел, непосредственно следующий за этим узлом
- См. также:
getPreviousSibling
public DefaultMutableTreeNode getPreviousSibling()
- Возвращает:
- соседний узел, непосредственно предшествующий этому узлу
isLeaf
public boolean isLeaf()
getAllowsChildren
getFirstLeaf
public DefaultMutableTreeNode getFirstLeaf()
- Возвращает:
- первый листовой узел в поддереве с корнем в этом узле
- См. также:
getLastLeaf
public DefaultMutableTreeNode getLastLeaf()
- Возвращает:
- последний листовой узел в поддереве с корнем в этом узле
- См. также:
getNextLeaf
public DefaultMutableTreeNode getNextLeaf()
В этой реализации интерфейса MutableNode данная операция крайне неэффективна. Чтобы определить следующий узел, этот метод сначала выполняет линейный поиск в списке дочерних узлов родителя, чтобы найти текущий узел.
Такая реализация подходит для короткого обхода, начинающегося с известной позиции. Однако для обхода всех листовых узлов дерева следует использовать depthFirstEnumeration для перечисления узлов дерева и применять isLeaf к каждому узлу, чтобы определить, какие из них являются листовыми.
- Возвращает:
- следующий после этого узла листовой узел
- См. также:
getPreviousLeaf
public DefaultMutableTreeNode getPreviousLeaf()
В этой реализации интерфейса MutableNode данная операция крайне неэффективна. Чтобы определить предыдущий узел, этот метод сначала выполняет линейный поиск в списке дочерних узлов родителя, чтобы найти текущий узел.
Такая реализация подходит для короткого обхода, начинающегося с известной позиции. Однако для обхода всех листовых узлов дерева следует использовать depthFirstEnumeration для перечисления узлов дерева и применять isLeaf к каждому узлу, чтобы определить, какие из них являются листовыми.
- Возвращает:
- листовой узел, предшествующий этому узлу
- См. также:
getLeafCount
public int getLeafCount()
1. Сложность этого метода — O(n), где n — количество потомков этого узла.- Возвращает:
- количество листовых узлов под этим узлом
- См. также:
toString
clone
public Object clone()
© 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.