JunnyTreeUtils class

树形节点工具类

提供 TreeViewNode 相关的实用工具方法, 包括深度计算、父节点查找、节点遍历等功能。

主要功能

节点查找

  • 查找父节点
  • 根据数据查找节点
  • 扁平化节点列表

层级信息

  • 计算节点深度
  • 判断是否为最后一个子节点
  • 获取节点路径

遍历操作

  • 深度优先遍历节点 (traverseNodesDepthFirst)
  • 深度优先遍历原始数据 (traverseDataDepthFirst)
  • 广度优先遍历节点 (traverseNodesBreadthFirst)
  • 广度优先遍历原始数据 (traverseDataBreadthFirst)
  • 条件查找和匹配

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

findNodeByData<T>(T data, List<TreeViewNode<T>> nodes) TreeViewNode<T>?
根据数据内容查找节点
findParentNode<T>(TreeViewNode<T> childNode, List<TreeViewNode<T>> rootNodes) TreeViewNode<T>?
查找节点的父节点
getAllNodes<T>(List<TreeViewNode<T>> rootNodes) List<TreeViewNode<T>>
获取所有节点的扁平化列表
getNodeDepth<T>(TreeViewNode<T> targetNode, List<TreeViewNode<T>> rootNodes) int
计算节点在树中的深度
getNodePath<T>(TreeViewNode<T> targetNode, List<TreeViewNode<T>> rootNodes) List<TreeViewNode<T>>
获取从根节点到目标节点的路径
isLastChild<T>(TreeViewNode<T> childNode, List<TreeViewNode<T>> rootNodes) bool
判断节点是否为父节点的最后一个子节点
traverseDataBreadthFirst<T>(List<T> data, {required List<T> childrenProvider(T item), required bool visitor(T item)}) → T?
广度优先遍历原始数据并返回匹配的数据项
traverseDataDepthFirst<T>(List<T> data, {required List<T> childrenProvider(T item), required bool visitor(T item)}) → T?
深度优先遍历原始数据并返回匹配的数据项
traverseNodesBreadthFirst<T>(List<TreeViewNode<T>> nodes, bool visitor(TreeViewNode<T> node)) TreeViewNode<T>?
广度优先遍历节点并返回匹配的节点
traverseNodesDepthFirst<T>(List<TreeViewNode<T>> nodes, bool visitor(TreeViewNode<T> node)) TreeViewNode<T>?
深度优先遍历节点并返回匹配的节点