设计模式之迭代器

一.简介

迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部状态结构。

模式结构:

1.抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口。

2.具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例。

3.抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法。

4.具体迭代器(Concretelterator)角色:实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。

二.实现

java 的List、Map、Set 集合结构都提供了迭代器,ArrayList的迭代器采用了内部类方式实现了迭代器接口:

设计模式之迭代器

三.总结

1.迭代器模式为遍历不同的聚合结构提供一个统一的接口,而不需要知道聚合结构的内部实现细节