Java将数据库数据转成树形结构
时间: 2023-05-20 21:01:23 浏览: 212
可以使用递归算法将数据库数据转成树形结构,具体实现可以参考以下代码:
public class TreeNode {
private int id;
private String name;
private List<TreeNode> children;
// getter and setter methods
}
public class TreeBuilder {
public static List<TreeNode> buildTree(List<TreeNode> nodes) {
Map<Integer, TreeNode> nodeMap = new HashMap<>();
List<TreeNode> rootNodes = new ArrayList<>();
// 将所有节点放入map中
for (TreeNode node : nodes) {
nodeMap.put(node.getId(), node);
}
// 遍历所有节点,将子节点添加到父节点的children列表中
for (TreeNode node : nodes) {
TreeNode parent = nodeMap.get(node.getParentId());
if (parent != null) {
if (parent.getChildren() == null) {
parent.setChildren(new ArrayList<>());
}
parent.getChildren().add(node);
} else {
rootNodes.add(node);
}
}
return rootNodes;
}
}
阅读全文