设计模式之迭代器
一.简介
迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部状态结构。
模式结构:
1.抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口。
2.具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例。
3.抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法。
4.具体迭代器(Concretelterator)角色:实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。
二.实现
java 的List、Map、Set 集合结构都提供了迭代器,ArrayList的迭代器采用了内部类方式实现了迭代器接口:
三.总结
1.迭代器模式为遍历不同的聚合结构提供一个统一的接口,而不需要知道聚合结构的内部实现细节