描述

迭代器(Iterator)模式:提供一个对象(迭代器)来顺序访问聚合对象(迭代数据)中的一系列数据,而不暴露聚合对象的内部表示。对象行为型模式
image.png

主要角色

  • 抽象聚合(Aggregate)角色:
    • 定义存储、添加、删除聚合对象以及创建迭代器对象的接口。
  • 具体聚合(ConcreteAggregate)角色:
    • 实现抽象聚合类,返回一个具体迭代器的实例。
  • 抽象迭代器(Iterator)角色:
    • 定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法。
  • 具体迭代器(Concretelterator)角色:

    • 实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。

      应用场景

      什么场景用到?
  • jdk容器接口的Iterator定义

  • 现实开发中,我们几乎无需编写迭代器,基本数据结构链表、树、图的迭代器已经都有了。除非要重写迭代逻辑 ……