本帖最后由 余海龙 于 2012-2-9 17:51 编辑
迭代器的基本原理:
由于不同集合的数据结构不同,取出元素方式不同。
为了方便于对每一个容器进行取出的操作,对容器进行共性的抽取。
每一个集合的取出方式都包含:
hasNext()
{
code。。。
}
next()
{
}
好处:降低了数据结构的耦合性。
iterator的特点是:将遍历一个序列的操作与此序列底层结构香分离.
Iterator隐藏了容器底层的结构.
迭代器是一个对象,它的工作是遍历并选择序列中的对象,而客户端程序员不必知道或关心该序列底层的结构.而且创建它的代价小.
import java.util.*;
public class Printer{
static void printAll(Iterator e){
while(e.hasNext())
System.out.println(e.next());
}
}
这个程序中,没有关于序列类型的信息,只有一个迭代器Iterator.不需要知道要遍历的是ArrayList还是LinkedList. |