Java创建子母公司树
时间: 2023-07-04 13:16:23 浏览: 110
要创建一个子母公司树,可以使用Java中的树数据结构。可以使用节点类来表示每个公司,该节点类包含公司名称、子公司、母公司等属性。然后,可以使用Java中的树类来组织这些节点,以形成子母公司树。
下面是一个简单的Java代码示例,用于创建一个子母公司树:
```java
class CompanyNode {
String name;
List<CompanyNode> children;
CompanyNode parent;
public CompanyNode(String name) {
this.name = name;
children = new ArrayList<>();
}
public void addChild(CompanyNode child) {
children.add(child);
child.parent = this;
}
}
public class CompanyTree {
CompanyNode root;
public CompanyTree(CompanyNode root) {
this.root = root;
}
public void print() {
print(root, 0);
}
private void print(CompanyNode node, int depth) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < depth; i++) {
sb.append(" ");
}
sb.append(node.name);
System.out.println(sb.toString());
for (CompanyNode child : node.children) {
print(child, depth + 1);
}
}
}
// Usage:
CompanyNode root = new CompanyNode("Parent Company");
CompanyNode child1 = new CompanyNode("Child Company 1");
CompanyNode child2 = new CompanyNode("Child Company 2");
CompanyNode grandchild1 = new CompanyNode("Grandchild Company 1");
CompanyNode grandchild2 = new CompanyNode("Grandchild Company 2");
root.addChild(child1);
root.addChild(child2);
child1.addChild(grandchild1);
child2.addChild(grandchild2);
CompanyTree tree = new CompanyTree(root);
tree.print();
```
上述代码将创建一个子母公司树,其中Parent Company是根节点,Child Company 1和Child Company 2是其子节点,Grandchild Company 1和Grandchild Company 2是其子节点的子节点。输出结果将打印整个树的结构。
阅读全文