Package com.power4j.fist.data.tree
Class TreeNodeUtil
java.lang.Object
com.power4j.fist.data.tree.TreeNodeUtil
- Since:
- 2022.0.3
- Author:
- CJ (power4j@outlook.com)
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<ID,N extends Node<ID, N>, U>
voidconvert(Collection<? extends N> src, TreeNodeUtil.ConvertOp<N, U> op, Collection<? super U> dist) 转换为其他类型,无接口依赖convertToList(Collection<? extends N> src, TreeNodeUtil.ConvertOp<N, U> op) 转换为其他类型,无接口依赖<ID,N extends Node<ID, N>>
void填充子级树节点转liststatic <ID,N extends Node<ID, N>, U extends Comparable<? super U>>
void根据属性排序<ID,N extends Node<ID, N>>
voidtreeWalk(Collection<? extends N> roots, Consumer<? super N> consumer) 迭代树节点
-
Constructor Details
-
TreeNodeUtil
public TreeNodeUtil()
-
-
Method Details
-
treeWalk
public <ID,N extends Node<ID, void treeWalkN>> (Collection<? extends N> roots, Consumer<? super N> consumer) 迭代树节点- Type Parameters:
ID- ID 类型N- Node 子类- Parameters:
roots- 根节点consumer- 节点消费函数
-
sortNodes
public static <ID,N extends Node<ID, void sortNodesN>, U extends Comparable<? super U>> (List<N> list, Function<? super N, ? extends U> keyExtractor) 根据属性排序- Type Parameters:
ID- ID 类型N- Node 子类- Parameters:
list- 根节点keyExtractor- 属性取值函数
-
flatten
树节点转list- Type Parameters:
ID- ID 类型N- Node 子类- Parameters:
roots- 根节点- Returns:
- 返回节点MAP
-
fetch
填充子级- Type Parameters:
ID- ID 类型N- Node 子类- Parameters:
source- 数据源roots- 根节点
-
convert
public <ID,N extends Node<ID, void convertN>, U> (Collection<? extends N> src, TreeNodeUtil.ConvertOp<N, U> op, Collection<? super U> dist) 转换为其他类型,无接口依赖- Type Parameters:
ID- ID 类型N- 原类型U- 目标类型- Parameters:
src- 数据源op- 转换所需各种函数dist- 用于保存结果
-
convertToList
public <ID,N extends Node<ID, List<U> convertToListN>, U> (Collection<? extends N> src, TreeNodeUtil.ConvertOp<N, U> op) 转换为其他类型,无接口依赖- Type Parameters:
ID- ID 类型N- 原类型U- 目标类型- Parameters:
src- 数据源op- 转换所需各种函数- Returns:
- 返回转换后的列表
-