- 类型参数:
T- ID类型
- 所有已实现的接口:
Serializable,Cloneable,Comparable<Node<T>>,Map<String,,Object> Node<T>
通过转换器将你的实体转化为TreeNodeMap节点实体 属性都存在此处,属性有序,可支持排序
- 作者:
- zeng
- 另请参阅:
-
嵌套类概要
从类继承的嵌套类/接口 java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明addChildren(Tree<T>... children) 增加子节点,同时关联子节点的父节点为当前节点递归克隆当前节点(即克隆整个树,保留字段值)
注意,此方法只会克隆节点,节点属性如果是引用类型,不会克隆递归过滤当前树,注意此方法会修改当前树
通过Function指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点及其所有子节点,否则抛弃节点及其子节点递归过滤并生成新的树
通过Function指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点,否则抛弃节点及其子节点获取所有子节点获取节点配置getId()获取IDgetName()获取节点标签名称获取ID对应的节点,如果有多个ID相同的节点,只返回第一个。获取父节点获取父节点IDgetParentsName(boolean includeCurrentNode) 获取所有父节点名称列表getParentsName(T id, boolean includeCurrentNode) 获取所有父节点名称列表Comparable<?>获取权重booleanhasChild()是否有子节点,无子节点则此为叶子节点void扩展属性setChildren(List<Tree<T>> children) 设置子节点,设置后会覆盖所有原有子节点设置IDsetName(CharSequence name) 设置节点标签名称设置父节点setParentId(T parentId) 设置父节点IDsetWeight(Comparable<?> weight) 设置权重void递归树并处理子树下的节点:从类继承的方法 java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values从类继承的方法 java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size从类继承的方法 java.util.AbstractMap
equals, hashCode, toString从接口继承的方法 java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
构造器详细资料
-
Tree
public Tree() -
Tree
构造- 参数:
treeNodeConfig- TreeNode配置
-
-
方法详细资料
-
getConfig
获取节点配置- 返回:
- 节点配置
-
getParent
获取父节点- 返回:
- 父节点
-
getNode
获取ID对应的节点,如果有多个ID相同的节点,只返回第一个。
此方法只查找此节点及子节点,采用广度优先遍历。- 参数:
id- ID- 返回:
- 节点
-
getParentsName
获取所有父节点名称列表比如有个人在研发1部,他上面有研发部,接着上面有技术中心
返回结果就是:[研发一部, 研发中心, 技术中心]- 参数:
id- 节点IDincludeCurrentNode- 是否包含当前节点的名称- 返回:
- 所有父节点名称列表
-
getParentsName
获取所有父节点名称列表比如有个人在研发1部,他上面有研发部,接着上面有技术中心
返回结果就是:[研发一部, 研发中心, 技术中心]- 参数:
includeCurrentNode- 是否包含当前节点的名称- 返回:
- 所有父节点名称列表
-
setParent
设置父节点- 参数:
parent- 父节点- 返回:
- this
-
getId
从接口复制的说明:Node获取ID -
setId
从接口复制的说明:Node设置ID -
getParentId
从接口复制的说明:Node获取父节点ID- 指定者:
getParentId在接口中Node<T>- 返回:
- 父节点ID
-
setParentId
从接口复制的说明:Node设置父节点ID- 指定者:
setParentId在接口中Node<T>- 参数:
parentId- 父节点ID- 返回:
- this
-
getName
从接口复制的说明:Node获取节点标签名称 -
setName
从接口复制的说明:Node设置节点标签名称 -
getWeight
从接口复制的说明:Node获取权重 -
setWeight
从接口复制的说明:Node设置权重 -
getChildren
获取所有子节点- 返回:
- 所有子节点
-
hasChild
public boolean hasChild()是否有子节点,无子节点则此为叶子节点- 返回:
- 是否有子节点
-
walk
递归树并处理子树下的节点:- 参数:
consumer- 节点处理器
-
filterNew
递归过滤并生成新的树
通过Function指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点,否则抛弃节点及其子节点- 参数:
filter- 节点过滤规则函数,只需处理本级节点本身即可- 返回:
- 过滤后的节点,
null表示不满足过滤要求,丢弃之
-
filter
递归过滤当前树,注意此方法会修改当前树
通过Function指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点及其所有子节点,否则抛弃节点及其子节点- 参数:
filter- 节点过滤规则函数,只需处理本级节点本身即可- 返回:
- 过滤后的节点,
null表示不满足过滤要求,丢弃之
-
setChildren
设置子节点,设置后会覆盖所有原有子节点- 参数:
children- 子节点列表,如果为null表示移除子节点- 返回:
- this
-
addChildren
增加子节点,同时关联子节点的父节点为当前节点- 参数:
children- 子节点列表- 返回:
- this
-
putExtra
扩展属性- 参数:
key- 键value- 扩展值
-
cloneTree
递归克隆当前节点(即克隆整个树,保留字段值)
注意,此方法只会克隆节点,节点属性如果是引用类型,不会克隆- 返回:
- 新的节点
-