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

java樹狀結構展示組織和人員

吳曉飛1年前6瀏覽0評論

樹狀結構是一種非常常見的數據結構。在許多應用程序中,我們需要以樹狀結構的方式來組織和顯示數據。例如,企業組織結構和人員管理系統。在本文中,我們將介紹如何使用Java實現樹狀結構展示組織和人員。

首先,我們定義一個樹節點類,用于表示每個節點的信息,包括節點ID、父節點ID、節點名稱、以及該節點下的子節點列表。以下是節點類的代碼:

public class TreeNode {
private int nodeId;
private int parentId;
private String nodeName;
private List<TreeNode> children;
// 構造函數、getter和setter方法省略
}

接下來,我們需要將節點按照父子關系構建出樹形結構。我們可以使用一個遞歸函數來實現這一過程。以下是構建樹形結構的代碼:

public static TreeNode buildTree(List<TreeNode> nodes) {
if (nodes == null || nodes.size() == 0) {
return null;
}
// 構建根節點
TreeNode rootNode = null;
for (TreeNode node : nodes) {
if (node.getParentId() == 0) {
rootNode = node;
break;
}
}
// 遞歸構建子節點
buildChildren(rootNode, nodes);
return rootNode;
}
private static void buildChildren(TreeNode parentNode, List<TreeNode> nodes) {
for (TreeNode node : nodes) {
if (node.getParentId() == parentNode.getNodeId()) {
if (parentNode.getChildren() == null) {
parentNode.setChildren(new ArrayList<TreeNode>());
}
parentNode.getChildren().add(node);
buildChildren(node, nodes);
}
}
}

最后,我們可以通過遍歷樹形結構來展示組織和人員信息。以下是展示樹形結構的代碼:

public static void displayTree(TreeNode rootNode, int level) {
if (rootNode == null) {
return;
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < level; i++) {
sb.append("-");
}
sb.append(rootNode.getNodeName());
System.out.println(sb.toString());
if (rootNode.getChildren() != null) {
for (TreeNode node : rootNode.getChildren()) {
displayTree(node, level + 1);
}
}
}

至此,我們就成功地用Java實現了樹狀結構展示組織和人員的功能。通過上述代碼,我們可以輕松地構建和顯示樹形結構,以達到清晰明了的組織和人員管理效果。