Package | Description |
---|---|
org.dromara.hutool.core.tree |
提供通用树生成,特点:
1、每个字段可自定义
2、支持排序 树深度配置,自定义转换器等 3、支持额外属性扩展 4、贴心 许多属性,特性都有默认值处理 5、使用简单 可一行代码生成树 6、代码简洁轻量无额外依赖 |
org.dromara.hutool.core.tree.parser |
节点解析器封装
|
Class and Description |
---|
BeanTree
本类是用于构建树的工具类,特点是采取lambda,以及满足指定类型的Bean进行树操作
Bean需要满足三个属性:
包含不为null的主键(例如id)
包含容许为null的关联外键(例如parentId)
包含自身的子集,例如类型为List的children
本类的构建方法是通过
BeanTree.of 进行构建,例如:
final BeanTree beanTree = BeanTree.of(JavaBean::getId, JavaBean::getParentId, null, JavaBean::getChildren, JavaBean::setChildren);
得到的BeanTree实例可以调用toTree方法,将集合转换为树,例如:
final List<JavaBean> javaBeanTree = beanTree.toTree(originJavaBeanList);
也可以将已有的树转换为集合,例如:
final List<JavaBean> javaBeanList = beanTree.flat(originJavaBeanTree);
最后,引用一句电影经典台词: 无处安放的双手,以及无处安放的灵魂。 |
HierarchyIterator |
LambdaTreeNodeConfig
树配置属性相关(使用Lambda语法)
避免对字段名称硬编码
|
MapTree
通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序
|
Node
节点接口,提供节点相关的的方法定义
|
TreeBuilder
树构建器
|
TreeNode
树节点 每个属性都可以在
TreeNodeConfig 中被重命名在你的项目里它可以是部门实体、地区实体等任意类树节点实体 类树节点实体: 包含key,父Key.不限于这些属性的可以构造成一颗树的实体对象 |
TreeNodeConfig
树配置属性相关
|
Class and Description |
---|
MapTree
通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序
|
TreeNode
树节点 每个属性都可以在
TreeNodeConfig 中被重命名在你的项目里它可以是部门实体、地区实体等任意类树节点实体 类树节点实体: 包含key,父Key.不限于这些属性的可以构造成一颗树的实体对象 |
Copyright © 2025. All rights reserved.