Java设计模式-----Iterator迭代器模式
2008-06-06 12:08
756 查看
源自:http://www.blogjava.net/flustar/archive/2007/12/04/iterator.html
Iterator迭代器模式:
提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。
例子:
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 Pattern】
- 设计模式 - 迭代器模式(iterator pattern) Java 迭代器(Iterator) 详解
- Java设计模式——迭代器模式(Iterator Pattern)
- java设计模式--迭代器模式 Iterator,备忘录模式 Memento,中介者模式 Mediator
- Java开发中的23种设计模式之十六:迭代器模式(Iterator)
- 设计模式学习笔记---迭代器模式iterator pattern(Java版)
- Java设计模式-----Iterator迭代器模式
- java设计模式---迭代器模式(iterator pattern)
- java_设计模式_迭代器模式_Iterator Pattern(2016-08-12)
- 设计模式(十六)----- 迭代器模式(Iterator)----(JAVA版)
- JAVA设计模式之 迭代器模式【Iterator Pattern】
- java设计模式之迭代器模式iterator
- Java设计模式五:迭代器模式(Iterator)
- java设计模式-迭代器模式(Iterator)
- JAVA设计模式(4)迭代器模式Iterator
- java设计模式——迭代器模式(Iterator Pattern)
- JAVA设计模式---Iterator迭代器模式
- Java设计模式之--迭代器模式(Iterator)
- Java设计模式——迭代器模式(Iterator Pattern)