| Package | Description |
|---|---|
| org.aoju.bus.core.lang.tree |
提供通用树生成,特点:
1、每个字段可自定义
2、支持排序 树深度配置,自定义转换器等
3、支持额外属性扩展
4、贴心 许多属性,特性都有默认值处理
5、使用简单 可一行代码生成树
6、代码简洁轻量无额外依赖
|
| org.aoju.bus.core.lang.tree.parser |
解析器
|
| org.aoju.bus.core.toolkit |
工具包,提供各种工具方法,按照归类入口为XXXKit,如数组工具ArrayKit等
|
| Modifier and Type | Method and Description |
|---|---|
Tree<T> |
Tree.addChildren(Tree<T>... children)
增加子节点,同时关联子节点的父节点为当前节点
|
Tree<E> |
TreeBuilder.build() |
Tree<T> |
Tree.getNode(T id)
获取ID对应的节点,如果有多个ID相同的节点,只返回第一个
此方法只查找此节点及子节点,采用广度优先遍历
|
Tree<T> |
Tree.getParent()
获取父节点
|
Tree<T> |
Tree.setChildren(List<Tree<T>> children)
设置子节点,设置后会覆盖所有原有子节点
|
Tree<T> |
Tree.setId(T id) |
Tree<T> |
Tree.setName(CharSequence name) |
Tree<T> |
Tree.setParent(Tree<T> parent)
设置父节点
|
Tree<T> |
Tree.setParentId(T parentId) |
Tree<T> |
Tree.setWeight(Comparable<?> weight) |
| Modifier and Type | Method and Description |
|---|---|
List<Tree<E>> |
TreeBuilder.buildList()
构建树列表,没有顶层节点,例如:
|
List<Tree<T>> |
Tree.getChildren()
获取所有子节点
|
| Modifier and Type | Method and Description |
|---|---|
Tree<T> |
Tree.addChildren(Tree<T>... children)
增加子节点,同时关联子节点的父节点为当前节点
|
Tree<T> |
Tree.setParent(Tree<T> parent)
设置父节点
|
| Modifier and Type | Method and Description |
|---|---|
TreeBuilder<E> |
TreeBuilder.append(Iterable<Tree<E>> trees)
增加节点列表,增加的节点是不带子节点的
|
TreeBuilder<E> |
TreeBuilder.append(Map<E,Tree<E>> map)
增加节点列表,增加的节点是不带子节点的
|
Tree<T> |
Tree.setChildren(List<Tree<T>> children)
设置子节点,设置后会覆盖所有原有子节点
|
| Modifier and Type | Method and Description |
|---|---|
void |
DefaultNodeParser.parse(TreeNode<T> treeNode,
Tree<T> tree) |
void |
NodeParser.parse(T object,
Tree<E> treeNode) |
| Modifier and Type | Method and Description |
|---|---|
static <T,E> Tree<E> |
TreeKit.buildSingle(List<T> list,
E rootId,
NodeConfig nodeConfig,
NodeParser<T,E> nodeParser)
构建单root节点树
|
static <T,E> Tree<E> |
TreeKit.buildSingle(List<T> list,
E parentId,
NodeParser<T,E> nodeParser)
构建单root节点树
|
static <E> Tree<E> |
TreeKit.buildSingle(List<TreeNode<E>> list,
E parentId)
构建单root节点树
|
static Tree<Integer> |
TreeKit.buildSingle(List<TreeNode<Integer>> list)
构建单root节点树
|
static <E> Tree<E> |
TreeKit.buildSingle(Map<E,Tree<E>> map,
E rootId)
单点树构建,按照权重排序
|
static <E> Tree<E> |
TreeKit.createEmptyNode(E id)
创建空Tree的节点
|
static <T> Tree<T> |
TreeKit.getNode(Tree<T> node,
T id)
获取ID对应的节点,如果有多个ID相同的节点,只返回第一个。
此方法只查找此节点及子节点,采用递归深度优先遍历。
|
| Modifier and Type | Method and Description |
|---|---|
static <T,E> List<Tree<E>> |
TreeKit.build(List<T> list,
E rootId,
NodeConfig nodeConfig,
NodeParser<T,E> nodeParser)
树构建
|
static <T,E> List<Tree<E>> |
TreeKit.build(List<T> list,
E parentId,
NodeParser<T,E> nodeParser)
树构建
|
static <E> List<Tree<E>> |
TreeKit.build(List<TreeNode<E>> list,
E parentId)
树构建
|
static List<Tree<Integer>> |
TreeKit.build(List<TreeNode<Integer>> list)
树构建
|
static <E> List<Tree<E>> |
TreeKit.build(Map<E,Tree<E>> map,
E rootId)
树构建,按照权重排序
|
| Modifier and Type | Method and Description |
|---|---|
static <T> Tree<T> |
TreeKit.getNode(Tree<T> node,
T id)
获取ID对应的节点,如果有多个ID相同的节点,只返回第一个。
此方法只查找此节点及子节点,采用递归深度优先遍历。
|
static <T> List<CharSequence> |
TreeKit.getParentsName(Tree<T> node,
boolean includeCurrentNode)
获取所有父节点名称列表
|
| Modifier and Type | Method and Description |
|---|---|
static <E> List<Tree<E>> |
TreeKit.build(Map<E,Tree<E>> map,
E rootId)
树构建,按照权重排序
|
static <E> Tree<E> |
TreeKit.buildSingle(Map<E,Tree<E>> map,
E rootId)
单点树构建,按照权重排序
|
Copyright © 2021. All rights reserved.