博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合模式(Composite)
阅读量:5818 次
发布时间:2019-06-18

本文共 1105 字,大约阅读时间需要 3 分钟。

hot3.png

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:

173239_SEY9_2335739.png

public class TreeNode {		private String name;	private TreeNode parent;	private Vector
 children = new Vector
(); 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
 getChildren(){ return children.elements(); }}
public class Tree {	TreeNode root = null;	public Tree(String name) {		root = new TreeNode(name);	}	public static void main(String[] args) {		Tree tree = new Tree("A");		TreeNode nodeB = new TreeNode("B");		TreeNode nodeC = new TreeNode("C");				nodeB.add(nodeC);		tree.root.add(nodeB);		System.out.println("build the tree finished!");	}}

使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

转载于:https://my.oschina.net/carbenson/blog/500283

你可能感兴趣的文章
【Swift语言】可选类型
查看>>
用Lucene4.5对中文文本建立索引
查看>>
盒子取球C语言 蓝桥杯
查看>>
Space Shooter 学习
查看>>
gitbook生成的_book文件本地打开后链接失效问题
查看>>
fill_parent和wrap_content的区别
查看>>
Water --- CSU 1550: Simple String
查看>>
Mac技巧合集第一期
查看>>
陶哲轩实分析定义8.5.5的一个注记
查看>>
VS2015下如何用编译、调试程序。
查看>>
[2019.3.6]BZOJ1821 [JSOI2010]Group 部落划分 Group
查看>>
oracle中update,insert,delete的高级用法
查看>>
linux之grep实例讲解
查看>>
Throwable相关知识1
查看>>
Staged Event-Driven Architecture
查看>>
JedisPool无法获得资源问题
查看>>
python模块——datetime
查看>>
20145234黄斐《信息安全系统设计基础》第0周学习总结
查看>>
函数执行的预解释
查看>>
C# 并发队列ConcurrentQueue
查看>>