设计模式——组合模式
//树节点
import java.util.ArrayList;
import java.util.List;public class TreeNode {
private int id;
private String name;
private List<TreeNode> child = new ArrayList<TreeNode>();
public TreeNode(int id, String name) {
super();
this.id = id;
this.name = name;
}
public TreeNode(int id, String name, List<TreeNode> child) {
super();
this.id = id;
this.name = name;
this.child = child;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<TreeNode> getChild() {
return child;
}
public void setChild(List<TreeNode> child) {
this.child = child;
}
public void add(TreeNode treeNode) {
this.child.add(treeNode);
}
public boolean remove(TreeNode treeNode) {
if (child.contains(treeNode)) {
this.child.remove(treeNode);
return true;
}
return false;
}
}//树
public class Tree {
//将对象组合成树形结构来表现”部分-整体“的层次结构
private String name;
private TreeNode root;
//参数顺序也支持
public Tree(TreeNode root, String name) {
super();
this.root = root;
this.name = name;
}
public Tree(String name, TreeNode root) {
super();
this.name = name;
this.root = root;
}
}