迭代器模式的组成:

  1. 容器:存储元素;
  2. 迭代器:
    1. 提供获取对应容器的元素的功能;
    2. 提供判断是否遍历到容器终点的功能;
    3. 提供迭代器遍历时删除元素的功能;
  3. 容器的元素。

迭代器模式类图:

迭代器模式自画.png迭代器模式.png


1、容器必须提供的内容:

  1. Iterator createIterator();
  • 提供创建这个容器对于迭代器的方法;
  • 在这里return``new的具体迭代器对象;
  1. 具体的容器(如数组、链表等等);

    2、迭代器必须提供的内容:

  2. Object next();提供获取对应容器的元素的功能;

  3. boolean hasNext();提供判断是否遍历到容器终点的功能;
  4. void remove();提供迭代器遍历时删除元素的功能;
  5. 具体的容器(如数组、链表等等),其将在Iterator被创建时被传入Iterator
  6. 用于在具体容器定位的属性(如int pos,用来定位当前走到了数组的哪个位置)。