Skip to content

迭代器模式

意图

提供一种方法顺序访问聚合对象元素,而又不暴露其内部表示。

类图

Java 示例

JDK 已内置:java.util.IteratorIterable

java
import java.util.*;

public class BookShelf implements Iterable<String> {
    private final List<String> books = new ArrayList<>();
    public void add(String b) { books.add(b); }
    public Iterator<String> iterator() { return books.iterator(); }
}

// for (String b : shelf) { ... }

自定义聚合可实现自己的 Iterator,在遍历同时支持 remove、过滤等。

下一节:中介者模式