Interface TreeTraversal

All Known Implementing Classes:
DepthLimitedTraversal, IterativeTraversal, LevelOrderTraversal, PostOrderTraversal, PreOrderTraversal

public interface TreeTraversal
Tree Traversal 树遍历

Interface for tree traversal strategies.

树遍历策略接口。

Features | 主要功能:

  • Strategy interface for tree traversal - 树遍历策略接口
  • Visitor-based traversal - 基于访问者的遍历
  • Node collection support - 节点收集支持

Usage Examples | 使用示例:

TreeTraversal traversal = PreOrderTraversal.getInstance();
traversal.traverse(roots, node -> System.out.println(node));
List<MyNode> all = traversal.collect(roots);

Security | 安全性:

  • Thread-safe: Implementation-dependent - 取决于实现
  • Null-safe: Implementation-dependent - 取决于实现
Since:
JDK 25, opencode-base-tree V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default <T extends Treeable<T,ID>, ID>
    List<T>
    collect(List<T> roots)
    Collect all nodes 收集所有节点
    <T extends Treeable<T,ID>, ID>
    void
    traverse(List<T> roots, TreeVisitor<T> visitor)
    Traverse tree nodes 遍历树节点
    default <T extends Treeable<T,ID>, ID>
    void
    traverse(List<T> roots, Consumer<T> consumer)
    Traverse tree nodes with consumer 使用消费者遍历树节点
  • Method Details

    • traverse

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

      default <T extends Treeable<T,ID>, ID> void traverse(List<T> roots, Consumer<T> consumer)
      Traverse tree nodes with consumer 使用消费者遍历树节点
      Type Parameters:
      T - the node type | 节点类型
      ID - the ID type | ID类型
      Parameters:
      roots - the root nodes | 根节点列表
      consumer - the consumer | 消费者
    • collect

      default <T extends Treeable<T,ID>, ID> List<T> collect(List<T> roots)
      Collect all nodes 收集所有节点
      Type Parameters:
      T - the node type | 节点类型
      ID - the ID type | ID类型
      Parameters:
      roots - the root nodes | 根节点列表
      Returns:
      all nodes | 所有节点