mirror of
https://gitee.com/dromara/hutool.git
synced 2025-06-28 13:34:09 +08:00
TreeUtil增加getParentsId方法
This commit is contained in:
parent
b48e793646
commit
80bdac99d9
@ -2,7 +2,7 @@
|
|||||||
# 🚀Changelog
|
# 🚀Changelog
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
# 5.8.22(2023-08-15)
|
# 5.8.22(2023-08-16)
|
||||||
|
|
||||||
### 🐣新特性
|
### 🐣新特性
|
||||||
* 【core 】 NumberUtil.nullToZero增加重载(issue#I7PPD2@Gitee)
|
* 【core 】 NumberUtil.nullToZero增加重载(issue#I7PPD2@Gitee)
|
||||||
@ -12,6 +12,7 @@
|
|||||||
* 【http 】 优化HttpUtil.urlWithForm方法(pr#1052@Gitee)
|
* 【http 】 优化HttpUtil.urlWithForm方法(pr#1052@Gitee)
|
||||||
* 【http 】 优化HttpUtil.urlWithForm方法(pr#1052@Gitee)
|
* 【http 】 优化HttpUtil.urlWithForm方法(pr#1052@Gitee)
|
||||||
* 【cron 】 优化PatternParser支持年的步进(issue#I7SMP7@Gitee)
|
* 【cron 】 优化PatternParser支持年的步进(issue#I7SMP7@Gitee)
|
||||||
|
* 【core 】 TreeUtil增加getParentsId方法(issue#I7TDCF@Gitee)
|
||||||
|
|
||||||
### 🐞Bug修复
|
### 🐞Bug修复
|
||||||
* 【core 】 修复NumberUtil.toBigDecimal转换科学计数法问题(issue#3241@Github)
|
* 【core 】 修复NumberUtil.toBigDecimal转换科学计数法问题(issue#3241@Github)
|
||||||
|
@ -230,6 +230,42 @@ public class TreeUtil {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有父节点ID列表
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* 比如有个人在研发1部,他上面有研发部,接着上面有技术中心<br>
|
||||||
|
* 返回结果就是:[研发部, 技术中心]
|
||||||
|
*
|
||||||
|
* @param <T> 节点ID类型
|
||||||
|
* @param node 节点
|
||||||
|
* @param includeCurrentNode 是否包含当前节点的名称
|
||||||
|
* @return 所有父节点ID列表,node为null返回空List
|
||||||
|
* @since 5.8.22
|
||||||
|
*/
|
||||||
|
public static <T> List<T> getParentsId(Tree<T> node, boolean includeCurrentNode) {
|
||||||
|
final List<T> result = new ArrayList<>();
|
||||||
|
if (null == node) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (includeCurrentNode) {
|
||||||
|
result.add(node.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
Tree<T> parent = node.getParent();
|
||||||
|
T id;
|
||||||
|
while (null != parent) {
|
||||||
|
id = parent.getId();
|
||||||
|
parent = parent.getParent();
|
||||||
|
if(null != id || null != parent){
|
||||||
|
// issue#I795IN,根节点的null不加入
|
||||||
|
result.add(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建空Tree的节点
|
* 创建空Tree的节点
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user