Package org.miaixz.bus.core.tree
package org.miaixz.bus.core.tree
提供通用树生成,特点:
1、每个字段可自定义 2、支持排序 树深度配置,自定义转换器等 3、支持额外属性扩展 4、贴心 许多属性,特性都有默认值处理 5、使用简单 可一行代码生成树 6、代码简洁轻量无额外依赖
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescriptionBeanTree<T,
R extends Comparable<R>> 本类是用于构建树的工具类,特点是采取lambda,以及满足指定类型的Bean进行树操作 Bean需要满足三个属性: 包含不为null的主键(例如id) 包含容许为null的关联外键(例如parentId) 包含自身的子集,例如类型为List的children 本类的构建方法是通过BeanTree.of进行构建,例如:用于迭代层级结构(比如树或图)的迭代器, 支持广度优先与深度优先两种遍历模式。 迭代器仅适用于访问层级结构,因此不支持Iterator.remove()方法。 要构建树或者操作数,请参见BeanTree或TreeKit。MapTree<T>通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序Node<T>节点接口,提供节点相关的的方法定义树配置属性相关TreeBuilder<E>树构建器TreeNode<T>树节点 每个属性都可以在NodeConfig中被重命名 在你的项目里它可以是部门实体、地区实体等任意类树节点实体 类树节点实体: 包含key,父Key.不限于这些属性的可以构造成一颗树的实体对象