Class IterativeTraversal

java.lang.Object
cloud.opencode.base.tree.traversal.IterativeTraversal
All Implemented Interfaces:
TreeTraversal

public class IterativeTraversal extends Object implements TreeTraversal
Iterative Traversal 迭代式遍历

Stack-based iterative traversal to prevent stack overflow.

基于栈的迭代遍历,防止栈溢出。

Features | 主要功能:

  • Stack-based iterative pre-order traversal - 基于栈的迭代先序遍历
  • No stack overflow risk - 无栈溢出风险
  • Singleton instance - 单例实例

Usage Examples | 使用示例:

IterativeTraversal.getInstance().traverse(roots, (node, depth) -> {
    System.out.println(node);
    return true;
});

Security | 安全性:

  • Thread-safe: Yes (stateless singleton) - 是(无状态单例)
  • Null-safe: Yes (null roots are handled) - 是(处理null根节点)
Since:
JDK 25, opencode-base-tree V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Constructor Details

    • IterativeTraversal

      public IterativeTraversal()
  • Method Details

    • getInstance

      public static IterativeTraversal getInstance()
    • traverse

      public <T extends Treeable<T,ID>, ID> void traverse(List<T> roots, TreeVisitor<T> visitor)
      Description copied from interface: TreeTraversal
      Traverse tree nodes 遍历树节点
      Specified by:
      traverse in interface TreeTraversal
      Type Parameters:
      T - the node type | 节点类型
      ID - the ID type | ID类型
      Parameters:
      roots - the root nodes | 根节点列表
      visitor - the visitor | 访问者