迭代器模式学习笔记

什么是迭代器模式?

迭代器模式(Iterator Pattern)是一种行为型设计模式,它允许用户能够顺序地访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。通过使用迭代器,客户端代码无需了解聚合对象的内部结构,即可实现对其中元素的遍历。

迭代器模式的优点

  • 将遍历算法封装在迭代器中,使得代码变得简洁
  • 支持多种遍历方式,并可以轻松切换遍历方式
  • 可以提供一种统一的接口,使得不同类型的聚合对象可以共用同一个遍历算法

迭代器模式的实例

以 Java 中的 ArrayList 为例,ArrayList 实现了 List 接口,List 接口中定义了 iterator() 方法,返回了一个实现了 Iterator 接口的内部类 Itr。下面是一个使用迭代器遍历 ArrayList 的示例代码:

javaCopy Code
import java.util.ArrayList; import java.util.Iterator; public class IteratorPatternDemo { public static void main(String[] args) { ArrayList<String> nameList = new ArrayList<String>(); nameList.add("Alice"); nameList.add("Bob"); nameList.add("Charlie"); Iterator<String> iterator = nameList.iterator(); while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }

在上述示例中,我们首先创建了一个 ArrayList 对象 nameList,并向其中添加了三个元素。然后调用 iterator() 方法返回一个迭代器对象 iterator,通过 while 循环遍历整个 ArrayList,每次通过 next() 方法获取一个元素,并将其输出。由于采用了迭代器模式,遍历操作不依赖于具体的聚合类,因此代码十分简洁和灵活。