package com.qianwen.core.tool.node.basic;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/node/basic/TreeUtil.class */
|
public final class TreeUtil {
|
private TreeUtil() {
|
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
|
}
|
|
public static <T extends TreeNode> List<T> build(List<T> treeNodes, Object root) {
|
List<T> trees = new ArrayList<>();
|
for (T treeNode : treeNodes) {
|
if (root.equals(treeNode.getParentId())) {
|
trees.add(treeNode);
|
}
|
for (T it : treeNodes) {
|
if (it.getParentId().equals(treeNode.getId())) {
|
if (treeNode.getChildren() == null) {
|
treeNode.setChildren(new ArrayList());
|
}
|
treeNode.add(it);
|
}
|
}
|
}
|
return trees;
|
}
|
|
public static <T extends TreeNode> List<T> buildByRecursive(List<T> treeNodes, Object root) {
|
ArrayList arrayList = new ArrayList();
|
for (T treeNode : treeNodes) {
|
if (root.equals(treeNode.getParentId())) {
|
arrayList.add(findChildren(treeNode, treeNodes));
|
}
|
}
|
return arrayList;
|
}
|
|
/* JADX WARN: Multi-variable type inference failed */
|
public static <T extends TreeNode> T findChildren(T treeNode, List<T> treeNodes) {
|
for (T it : treeNodes) {
|
if (treeNode.getId().equals(it.getParentId())) {
|
if (treeNode.getChildren() == null) {
|
treeNode.setChildren(new ArrayList());
|
}
|
treeNode.add(findChildren(it, treeNodes));
|
}
|
}
|
return treeNode;
|
}
|
}
|