package org.sxkj.common.utils;
|
|
|
import org.sxkj.common.node.TreeIntegerNode;
|
import org.sxkj.common.node.TreeLongNode;
|
import org.sxkj.common.node.TreeStringNode;
|
|
import java.util.*;
|
|
/**
|
* node tree 工具类
|
* @author zhongrj
|
* @since 2023-10-28
|
*/
|
public class NodeTreeUtil {
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeIntegerNode> getNodeTree(Map<Integer, TreeIntegerNode> treeMap){
|
List<TreeIntegerNode> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeLongNode> getLongNodeTree(Map<Long, TreeLongNode> treeMap){
|
List<TreeLongNode> tree = new ArrayList<>();
|
if (treeMap.size() > 1) {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
return tree;
|
}
|
|
/**
|
* 树转换
|
* @param treeMap
|
* @return
|
*/
|
public static List<TreeStringNode> getStringNodeTree(Map<String, TreeStringNode> treeMap){
|
List<TreeStringNode> tree = new ArrayList<>();
|
if (treeMap.size() > 0) {
|
if (treeMap.size()==1){
|
treeMap.forEach((id, treeNode) -> {
|
tree.add(treeNode);
|
});
|
}else {
|
treeMap.forEach((id, treeNode) -> {
|
if (treeMap.containsKey(treeNode.getParentId())) {
|
treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
|
} else {
|
tree.add(treeNode);
|
}
|
});
|
}
|
}
|
return tree;
|
}
|
}
|