Class HierarchyIterator<T>

java.lang.Object
org.miaixz.bus.core.tree.HierarchyIterator<T>
Type Parameters:
T - 元素类型
All Implemented Interfaces:
Iterator<T>

public abstract class HierarchyIterator<T> extends Object implements Iterator<T>

用于迭代层级结构(比如树或图)的迭代器, 支持广度优先深度优先两种遍历模式。 迭代器仅适用于访问层级结构,因此不支持Iterator.remove()方法。 要构建树或者操作数,请参见BeanTreeTreeKit

该迭代器侧重于打通图或树这类数据结构与传统集合间的隔阂, 从而支持通过传统可迭代集合的方式对树或图中的节点进行操作。 比如:


 Tree root = // 构建树结构
 // 搜索树结构中所有级别为3的节点,并按权重排序
 List<Tree> thirdLevelNodes = StreamKit.iterateHierarchies(root, Tree:getChildren)
 	.filter(node -> node.getLevel() == 3)
 	.sorted(Comparator.comparing(Tree::getWeight))
 	.toList();
 
Since:
Java 17+
Author:
Kimi Liu
See Also: