思想
可以理解为树,类中维护节点集合;
描述
又叫部分-整体模式,一个节点类,内有子节点对象(类型也是节点类类型,可能是个列表)
适用
处理类似树型结构的问题时比较方便
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| class TreeNode{ private String name; private TreeNode parent; private Vector<TreeNode> children = new Vector<TreeNode>(); public TreeNode(String name){ this.name = name; } public String getName(){ return name; } public void setName(String name){ this.name = name; } public TreeNode getParent(){ return parent; } public void setParent(TreeNode parent){ this.parent = parent; } public void add(TreeNode node){ children.add(node); } public void remove(TreeNode node){ children.remove(node); } public Enumeration<TreeNode> getChildren(){ return children.elements(); } }
public class Test { public static void printMsg(String msg){ System.out.println(msg); } TreeNode root = null; public Test(String name){ root = new TreeNode(name); } public static void main(String[] args){ Test tree = new Test("A"); TreeNode node_b = new TreeNode("B"); TreeNode node_c = new TreeNode("C"); node_b.add(node_c); tree.root.add(node_b); Test.printMsg("build tree"); } }
|