Iterator模式提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
• 访问一个聚合对象的内容而无需暴露它的内部表示。
• 支持对聚合对象的多种遍历。
• 为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。
• 简化了聚合对象的接口,有了迭代器的遍历接口,聚合对象就不需要遍历接口。(通过对象组合提供强大功能)
类图:
Java已提供Iterator接口:
public interface Iterator<E> {
boolean hasNext();
E next();
}
Java的集合类中定义了各自的私有静态Iterator类型的嵌套类(多态迭代)
public class ArrayList<E> ...{
public Iterator<E> iterator() {
return new Itr();
}
private class Itr implements Iterator<E> {
...
}
}