色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java展開和折疊樹節點

錢浩然1年前8瀏覽0評論

展開和折疊樹節點是一種常見的用戶交互方式,在 Java 中也可以輕松實現。下面我們來介紹一下如何在 Java 中實現展開和折疊樹節點。

// 定義節點類
class Node {
public boolean expanded; // 標記當前節點是否展開
public String name;
public Listchildren = new ArrayList();
public Node(String name) {
this.name = name;
this.expanded = false;
}
// 添加子節點
public void addChild(Node node) {
this.children.add(node);
}
// 展開或折疊節點
public void expandOrCollapse() {
this.expanded = !this.expanded;
}
// 判斷當前節點是否為葉子節點
public boolean isLeaf() {
return this.children.size() == 0;
}
}
// 定義樹結構類
class Tree {
public Node root;
public Tree(Node root) {
this.root = root;
}
// 遍歷樹結構,打印每個節點的名稱
public void traverse(Node node, String indent) {
System.out.println(indent + node.name);
if (!node.isLeaf() && node.expanded) {
for (Node child : node.children) {
traverse(child, indent + "  ");
}
}
}
}

在上面的代碼中,我們定義了一個節點類 Node 和一個樹結構類 Tree。Node 類中定義了一些基本的節點操作,比如添加子節點、展開或折疊節點等。Node 類還有一個 isLeaf 方法,用于判斷當前節點是否為葉子節點。

Tree 類則定義了一個根節點 root,以及一個 traverse 方法用于遍歷整個樹結構并打印每個節點的名稱。在 traverse 方法中,我們使用了遞歸方式來遍歷整個樹結構,同時根據每個節點的 expanded 屬性來判斷是否展開當前節點。

在實際應用中,我們可以根據具體需要對 Node 類和 Tree 類進行擴展,從而實現更豐富的功能。