public class TreeUtil extends Object
| Constructor and Description | 
|---|
| TreeUtil() | 
| Modifier and Type | Method and Description | 
|---|---|
| static <T,E> List<E> | build(List<E> nodes,
     T rootId,
     Function<E,T> idFunc,
     Function<E,T> parentIdFunc,
     BiConsumer<E,List<E>> setChildFunc)函数式构建树状结构(无需继承Tree类) | 
| static <T,E> List<Tree<E>> | build(List<T> list,
     E parentId,
     NodeParser<T,E> nodeParser)树构建 | 
| static <T,E> List<Tree<E>> | build(List<T> list,
     E rootId,
     TreeNodeConfig treeNodeConfig,
     NodeParser<T,E> nodeParser)树构建 | 
| static <E> List<Tree<E>> | build(List<TreeNode<E>> list,
     E parentId)树构建 | 
| static List<Tree<Integer>> | build(List<TreeNode<Integer>> list)树构建 | 
| static <E> List<Tree<E>> | build(Map<E,Tree<E>> map,
     E rootId)树构建,按照权重排序 | 
| static <T,E> Tree<E> | buildSingle(List<T> list,
           E parentId,
           NodeParser<T,E> nodeParser)构建单root节点树 它会生成一个以指定ID为ID的空的节点,然后逐级增加子节点。 | 
| static <T,E> Tree<E> | buildSingle(List<T> list,
           E rootId,
           TreeNodeConfig treeNodeConfig,
           NodeParser<T,E> nodeParser)构建单root节点树 它会生成一个以指定ID为ID的空的节点,然后逐级增加子节点。 | 
| static <E> Tree<E> | buildSingle(List<TreeNode<E>> list,
           E parentId)构建单root节点树 它会生成一个以指定ID为ID的空的节点,然后逐级增加子节点。 | 
| static Tree<Integer> | buildSingle(List<TreeNode<Integer>> list)构建单root节点树 | 
| static <E> Tree<E> | buildSingle(Map<E,Tree<E>> map,
           E rootId)单点树构建,按照权重排序 它会生成一个以指定ID为ID的空的节点,然后逐级增加子节点。 | 
| static <E> Tree<E> | createEmptyNode(E id)创建空Tree的节点 | 
| static <T> Tree<T> | getNode(Tree<T> node,
       T id)获取ID对应的节点,如果有多个ID相同的节点,只返回第一个。 | 
| static <T> List<T> | getParentsId(Tree<T> node,
            boolean includeCurrentNode)获取所有父节点ID列表
 
 比如有个人在研发1部,他上面有研发部,接着上面有技术中心 返回结果就是:[研发部, 技术中心] | 
| static <T> List<CharSequence> | getParentsName(Tree<T> node,
              boolean includeCurrentNode)获取所有父节点名称列表
 
 比如有个人在研发1部,他上面有研发部,接着上面有技术中心 返回结果就是:[研发一部, 研发中心, 技术中心] | 
public static Tree<Integer> buildSingle(List<TreeNode<Integer>> list)
list - 源数据集合Treepublic static List<Tree<Integer>> build(List<TreeNode<Integer>> list)
list - 源数据集合public static <E> Tree<E> buildSingle(List<TreeNode<E>> list, E parentId)
E - ID类型list - 源数据集合parentId - 最顶层父id值 一般为 0 之类Treepublic static <E> List<Tree<E>> build(List<TreeNode<E>> list, E parentId)
E - ID类型list - 源数据集合parentId - 最顶层父id值 一般为 0 之类public static <T,E> Tree<E> buildSingle(List<T> list, E parentId, NodeParser<T,E> nodeParser)
T - 转换的实体 为数据源里的对象类型E - ID类型list - 源数据集合parentId - 最顶层父id值 一般为 0 之类nodeParser - 转换器Treepublic static <T,E> List<Tree<E>> build(List<T> list, E parentId, NodeParser<T,E> nodeParser)
T - 转换的实体 为数据源里的对象类型E - ID类型list - 源数据集合parentId - 最顶层父id值 一般为 0 之类nodeParser - 转换器public static <T,E> List<Tree<E>> build(List<T> list, E rootId, TreeNodeConfig treeNodeConfig, NodeParser<T,E> nodeParser)
T - 转换的实体 为数据源里的对象类型E - ID类型list - 源数据集合rootId - 最顶层父id值 一般为 0 之类treeNodeConfig - 配置nodeParser - 转换器public static <T,E> Tree<E> buildSingle(List<T> list, E rootId, TreeNodeConfig treeNodeConfig, NodeParser<T,E> nodeParser)
T - 转换的实体 为数据源里的对象类型E - ID类型list - 源数据集合rootId - 最顶层父id值 一般为 0 之类treeNodeConfig - 配置nodeParser - 转换器Treepublic static <E> List<Tree<E>> build(Map<E,Tree<E>> map, E rootId)
E - ID类型map - 源数据MaprootId - 最顶层父id值 一般为 0 之类public static <E> Tree<E> buildSingle(Map<E,Tree<E>> map, E rootId)
E - ID类型map - 源数据MaprootId - 根节点id值 一般为 0 之类Treepublic static <T> Tree<T> getNode(Tree<T> node, T id)
T - ID类型node - 节点id - IDpublic static <T> List<CharSequence> getParentsName(Tree<T> node, boolean includeCurrentNode)
 比如有个人在研发1部,他上面有研发部,接着上面有技术中心
 返回结果就是:[研发一部, 研发中心, 技术中心]
T - 节点ID类型node - 节点includeCurrentNode - 是否包含当前节点的名称public static <T> List<T> getParentsId(Tree<T> node, boolean includeCurrentNode)
 比如有个人在研发1部,他上面有研发部,接着上面有技术中心
 返回结果就是:[研发部, 技术中心]
T - 节点ID类型node - 节点includeCurrentNode - 是否包含当前节点的名称public static <E> Tree<E> createEmptyNode(E id)
E - 节点ID类型id - 节点IDTreepublic static <T,E> List<E> build(List<E> nodes, T rootId, Function<E,T> idFunc, Function<E,T> parentIdFunc, BiConsumer<E,List<E>> setChildFunc)
T - 节点ID类型E - 节点类型nodes - 需要构建树集合rootId - 根节点IDidFunc - 获取节点ID函数parentIdFunc - 获取节点父ID函数setChildFunc - 设置孩子集合函数Copyright © 2025. All rights reserved.