设计模式之迭代器模式的学习思考
来源:互联网 发布:ps软件字体下载 编辑:程序博客网 时间:2024/06/05 02:54
迭代器模式最经典的应用应该就是Java中的迭代器了,在Java集合Collection接口就继承了Iterable。
种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
迭代器模式属于设计模式里的行为模式。
优点:
- 它支持以不同的方式遍历一个聚合对象。
- 迭代器简化了聚合类。
- 在同一个聚合上可以有多个遍历。
缺点:
- 由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性。
代码:
//定义迭代接口interface Iterator{ public boolean hasNext(); //是否有下一个元素,即还有没有没有遍历到的元素 public Object next(); //返回元素}interface Container{ //获得迭代器 public Iterator getIterator();}class NameRepository implements Container{ public String names[]={"L","H","J"}; public Iterator getIterator() { return new NameIterator(); } private class NameIterator implements Iterator{ int index; //指针,用来遍历集合对象 public boolean hasNext() { if(index<names.length){ return true; } return false; } public Object next() { if(this.hasNext()){ return names[index++]; //返回元素,并将指针后移一位 } return null; } }}public class IteratorPatternDemo { public static void main(String[] args) { NameRepository nameRepository=new NameRepository(); for(Iterator iter=nameRepository.getIterator();iter.hasNext();){ String name=(String)iter.next(); System.out.println("Name:"+name); } }}
输出:
Name:L Name:H Name:J
阅读全文
0 0
- 设计模式之迭代器模式的学习思考
- 设计模式之单例模式的学习思考
- 设计模式之创建者模式的学习思考
- 设计模式之原型模式的学习思考
- 设计模式之适配器模式的学习思考
- 设计模式之桥接模式的学习思考
- 设计模式之过滤器模式的学习思考
- 设计模式之组合模式的学习思考
- 设计模式之装饰器模式的学习思考
- 设计模式之外观模式的学习思考
- 设计模式之享元模式的学习思考
- 设计模式之代理模式的学习思考
- 设计模式之命令模式的学习思考
- 设计模式之解释器模式的学习思考
- 设计模式之中介者模式的学习思考
- 设计模式之备忘录模式的学习思考
- 设计模式学习的思考
- 设计模式之责任链的学习思考
- 管道的理解
- 1406: [AHOI2007]密码箱
- 关于MySQL数据库连接超时问题的分析与解决
- Canvas图形绘制---ChessBoard
- kotlin-cn front end
- 设计模式之迭代器模式的学习思考
- STM32固件库详解
- 多线程Join函数小案例
- JAVA解析TXT分割标题章节正文后写入数据库(某公司机试题以及关键源代码)
- smartupload--文件批量下载
- BaseDao多线程的实现
- python3.6下安装(numpy,scipy,pandas,matplotlib,scikit-learn)
- JAVA中的进程和线程
- 多线程 BaseDao