Class TreeUtils
java.lang.Object
com.codeupsoft.base.common.utils.TreeUtils
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface树节点子节点设置器接口.static interface树节点访问器接口. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> List<T> filterTree(List<T> treeList, Predicate<T> condition, Function<T, List<T>> childrenGetter) 过滤树结构,返回满足条件的节点组成的新树.static <T> T在树结构中查找满足条件的节点.static <T> List<T> listToTree(List<T> list, Function<T, Object> idGetter, Function<T, Object> parentIdGetter, TreeUtils.TreeChildrenSetter<T> childrenSetter, Object rootParentId) 将列表结构转换为树形结构.static <T> voidtraverseTree(List<T> treeList, TreeUtils.TreeVisitor<T> visitor, Function<T, List<T>> childrenGetter) 遍历树结构并对每个节点执行操作.
-
Constructor Details
-
TreeUtils
public TreeUtils()
-
-
Method Details
-
listToTree
public static <T> List<T> listToTree(List<T> list, Function<T, Object> idGetter, Function<T, Object> parentIdGetter, TreeUtils.TreeChildrenSetter<T> childrenSetter, Object rootParentId) 将列表结构转换为树形结构.- Type Parameters:
T- 节点类型- Parameters:
list- 所有节点列表idGetter- 获取节点ID的函数parentIdGetter- 获取节点父ID的函数childrenSetter- 设置节点子节点列表的函数rootParentId- 根节点的父ID值- Returns:
- 树形结构列表
-
findNode
-
traverseTree
public static <T> void traverseTree(List<T> treeList, TreeUtils.TreeVisitor<T> visitor, Function<T, List<T>> childrenGetter) 遍历树结构并对每个节点执行操作.- Type Parameters:
T- 节点类型- Parameters:
treeList- 树节点列表visitor- 节点访问器childrenGetter- 获取子节点列表的函数
-
filterTree
-