Java设计模式-----Iterator迭代器模式
来源:互联网 发布:腾飞软件工作室 骗局 编辑:程序博客网 时间:2024/05/23 19:19
源自:http://www.blogjava.net/flustar/archive/2007/12/04/iterator.html
Iterator迭代器模式:
提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。
例子:
interface Iterator{public void first();public void next();public E currentItem();public boolean isDone();}public abstract class Aggregate {protected abstract Iterator createIterator();}public class ConcreteAggregate extends Aggregate {private ArrayList arrayList = new ArrayList ();public Iterator createIterator() {return new ConcreteIterator (this);}public void add(E o) {arrayList.add(o);}public E getElement(int index) {if (index < arrayList.size()) {return arrayList.get(index);} else {return null;}}public int size() {return arrayList.size();}}public class ConcreteIterator implements Iterator {private ConcreteAggregate agg;private int index = 0;private int size = 0;public ConcreteIterator(ConcreteAggregate aggregate) {this.agg = aggregate;this.index = 0;this.size = aggregate.size();}public E currentItem() {return agg.getElement(index);}public void first() {index = 0;}public boolean isDone() {if (index >= size) {return true;}return false;}public void next() {if (index < size) {index++;}}}public class Client {public static void main(String[] args) {ConcreteAggregate aggregate = new ConcreteAggregate ();aggregate.add("A");aggregate.add("B");aggregate.add("C");aggregate.add("D");aggregate.add("E");Iterator iterator = aggregate.createIterator();for (iterator.first(); !iterator.isDone(); iterator.next()) {System.out.println(iterator.currentItem());}}}
- Java设计模式-----Iterator迭代器模式
- JAVA设计模式---Iterator迭代器模式
- Java设计模式-----Iterator迭代器模式
- JAVA设计模式六--Iterator(迭代器模式)
- java设计模式-迭代器模式(Iterator)
- JAVA设计模式—迭代器模式(Iterator)
- Java设计模式五:迭代器模式(Iterator)
- JAVA设计模式六:--Iterator(迭代器模式)
- java设计模式之迭代器模式iterator
- 【Java设计模式】(1)迭代器模式Iterator
- java设计模式-迭代器模式(Iterator)
- java设计模式:迭代器模式 iterator
- Java设计模式--迭代器模式【Iterator Pattern】
- JAVA设计模式-Iterator
- JAVA Iterator 设计模式
- 设计模式 - 迭代器模式(iterator pattern) Java 迭代器(Iterator) 详解
- 设计模式 -- Iterator(迭代器)
- Iterator(迭代器)设计模式
- 选择排序法
- 数据库连接池配置与测试程序
- Hibernate : Query.list()、Query.iterate()的区别
- Qt 国际化编程,真正解决汉字显示方块、乱码问题!
- JAVA通配符
- Java设计模式-----Iterator迭代器模式
- GridView HeaderStyle unbold 实现
- hibernate 备份数据库 ?
- js访问xml之节点对象属性和方法【1】
- C#中的Event,多余乎?不多余
- 端午节快乐
- java类型转换参考大全
- with和有名function那些不得不说的事....
- Lucene深入研究(2)