欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java根據id和pid建樹

陳思宇1年前7瀏覽0評論

在開發中,經常需要用到樹形數據結構,特別是在前端開發過程中,需要用樹形結構展示多層級的數據。而對于后臺開發來說,數據就是樹形結構,需要對數據進行樹化。Java中對樹的操作已經非常成熟,可以輕松地通過id和pid進行構建。

public class TreeNode {
private Long id;
private Long pid;
private Listchildren;
//...省略get、set方法及構造方法
}
public class TreeBuilder {
public static Listbuild(Listnodes) {
Listroots = new ArrayList<>();
MapnodesMap = new LinkedHashMap<>();
for (TreeNode node : nodes) {
nodesMap.put(node.getId(), node);
if (node.getPid() == null || node.getPid().equals(0L)) {
roots.add(node);
}
}
for (TreeNode node : nodes) {
TreeNode parent = nodesMap.get(node.getPid());
if (parent != null && !node.equals(parent)) {
parent.addChild(node);
}
}
return roots;
}
}

以上代碼實現了通過id和pid建樹,并將樹的根節點返回。這里我們使用了Java集合框架中的Map來存儲節點,并通過遍歷建立節點間的父子關系。代碼中還使用了一個自定義的TreeNode類,用來封裝節點的信息和父子關系??梢钥吹?,通過這樣簡單的方法就可以輕松地構建出樹形數據結構,而且代碼也不是很復雜。

在后臺開發中,我們常常需要將從數據庫讀出來的扁平化的數據樹化,然后再進行操作。Java中建樹的方法十分實用,也可以通過更多的擴展來滿足不同的需求。希望以上內容對你有所幫助。