迭代器模式
迭代器模式又叫做游标模式,提供一种方法访问容器元素中各个对象,而又不暴露该对象的内部细节。
迭代器的涉及的角色:
1.迭代器角色
负责定义访问和遍历元素的接口
2.具体迭代器角色
实现迭代器接口,并要记录遍历中的当前位置
3.容器角色
负责提供创建具体迭代器角色的接口
4.具体容器角色
实现创建具体迭代器角色的接口,这个具体迭代器角色与该容器的结构相关
迭代器在jdk中的应用
对于Arraylist和linkedlist,我们可以通过for循环然后get到里面的元素,但是比如hashset,里面没有提供get方法,那么久只能通过iterator去获取。
只要集合实现了iterable接口,都可以通过iterator遍历。
Iterable和Iterator接口
两个都是迭代相关的接口,实现了Iterable接口,表示某个对象是可被迭代的;Iterator接口相当于一个迭代器,实现了Iterator接口,等于具体定义了这个可被迭代的对象是如何进行迭代的。
迭代器模式的优缺点
优点
1.封装性好,用户只需要得到迭代器就可以遍历,不用去关心算法是怎么样的。
2.简化遍历方式。
缺点
效率不高
原文:http://www.cnblogs.com/tp123/p/6498451.html