This commit is contained in:
Looly
2024-10-02 13:39:59 +08:00
parent fbc14c86bf
commit 3e79778272

View File

@@ -34,6 +34,8 @@ import java.util.function.Function;
*/
public class TreeUtil {
// region ----- build
/**
* 构建单root节点树
*
@@ -83,7 +85,7 @@ public class TreeUtil {
/**
* 构建单root节点树<br>
* 它会生成一个以指定ID为ID的空的节点,然后逐级增加子节点。
* 它会将指定Id的节点作为根节点如果这个节点不存在则创建一个空节点,然后逐级增加子节点。
*
* @param <T> 转换的实体 为数据源里的对象类型
* @param <E> ID类型
@@ -98,7 +100,8 @@ public class TreeUtil {
}
/**
* 树构建
* 树构建<br>
* 你所有节点的ID都不应该重复那你要构建一个列表形式的树结构指定的这个rootId应该是首层节点的parentId而非某个节点的id
*
* @param <T> 转换的实体 为数据源里的对象类型
* @param <E> ID类型
@@ -112,7 +115,8 @@ public class TreeUtil {
}
/**
* 树构建
* 树构建<br>
* 你所有节点的ID都不应该重复那你要构建一个列表形式的树结构指定的这个rootId应该是首层节点的parentId而非某个节点的id
*
* @param <T> 转换的实体 为数据源里的对象类型
* @param <E> ID类型
@@ -178,6 +182,7 @@ public class TreeUtil {
return createEmptyNode(rootId);
}
// endregion
/**
* 获取ID对应的节点如果有多个ID相同的节点只返回第一个。<br>
@@ -272,7 +277,7 @@ public class TreeUtil {
while (null != parent) {
fieldValue = fieldFunc.apply(parent);
parent = parent.getParent();
if(null != fieldValue || null != parent){
if (null != fieldValue || null != parent) {
// issue#I795IN根节点的null不加入
result.add(fieldValue);
}
@@ -285,16 +290,16 @@ public class TreeUtil {
*
* <p>
* 比如有个人在研发1部他上面有研发部接着上面有技术中心<br>
parent = parent.getParent();) {
if(null != id || null != parent){
// issue#I795IN根节点的null不加入
result.add(fieldFunc.apply(parent));
}
}
return result;
}
/**
* parent = parent.getParent();) {
* if(null != id || null != parent){
* // issue#I795IN根节点的null不加入
* result.add(fieldFunc.apply(parent));
* }
* }
* return result;
* }
* <p>
* /**
* 创建空Tree的节点
*
* @param id 节点ID