Package com.power4j.fist.data.tree
Class TreeUtil
java.lang.Object
com.power4j.fist.data.tree.TreeUtil
- Since:
- 1.0
- Author:
- CJ (power4j@outlook.com)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<ID,T> void fetch(Collection<T> source, Collection<T> roots, TreeUtil.NodeOp<ID, T> nodeOp) 填充子级<ID,T> void fetch(Map<ID, T> source, Map<ID, T> roots, TreeUtil.NodeOp<ID, T> nodeOp) 填充子级<ID,T> Map<ID, T> findAncestors(Map<ID, T> source, Function<? super T, ID> idGetter, Function<? super T, ID> pidGetter) 在给定的集合中查找根节点<ID,T> List<T> flatten(Collection<T> roots, TreeUtil.AccessOp<ID, T> accessOp) 树节点转list<ID,T> void treeWalk(Collection<? extends T> roots, TreeUtil.AccessOp<ID, T> accessOp, Consumer<? super T> consumer) 迭代树节点
-
Constructor Details
-
TreeUtil
public TreeUtil()
-
-
Method Details
-
findAncestors
public <ID,T> Map<ID,T> findAncestors(Map<ID, T> source, Function<? super T, ID> idGetter, Function<? super T, ID> pidGetter) 在给定的集合中查找根节点- Type Parameters:
ID- ID 类型T- 对象- Parameters:
source- 数据源idGetter- ID取值方法pidGetter- PID取值方法- Returns:
- 返回根节点MAP
-
fetch
填充子级- Type Parameters:
ID- ID 类型T- 节点类型- Parameters:
source- 数据源roots- 根节点nodeOp- 各种操作函数
-
fetch
填充子级- Type Parameters:
ID- ID 类型T- 节点类型- Parameters:
source- 数据源roots- 根节点nodeOp- 各种操作函数
-
treeWalk
public <ID,T> void treeWalk(Collection<? extends T> roots, TreeUtil.AccessOp<ID, T> accessOp, Consumer<? super T> consumer) 迭代树节点- Type Parameters:
ID- ID 类型T- 节点类型- Parameters:
roots- 根节点accessOp- 各种操作函数consumer- 节点消费函数
-
flatten
树节点转list- Type Parameters:
ID- ID 类型T- 节点类型- Parameters:
roots- 根节点accessOp- 各种操作函数- Returns:
- 返回节点MAP
-