迭代器(Iterator)模式,又叫做游标(Cursor)模式。
GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。
应用场景
在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口,该接口有一个iterator方法,也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类,用Iterator对象中的hasnext方法来判断是否还有下个元素,next方法来顺序获取集合类中的对象。
参与角色
1.迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。
2.具体迭代器角色(Concrete
Iterator):具体迭代器角色要实现迭代器接口,并要记录遍历中的当前位置。
3.容器角色(Container):容器角色负责提供创建具体迭代器角色的接口。
4.具体容器角色(Concrete
Container):具体容器角色实现创建具体迭代器角色的接口——这个具体迭代器角色于该容器的结构相关。
原文:http://www.cnblogs.com/binyue/p/3726840.html