迭代器模式的定义:对于一组对象的集合(实现Collection接口的数组,列表等),用户不需要关注它的底层实现,而可以通过调用一个统一的接口遍历集合当中的全部元素。
最典型的应用就是java的Iterator接口
下面用代码来模拟迭代器模式:
1.迭代器接口
public interface Iterator<E> {
boolean hasNext();
E next();
}迭代器的接口定义了两个基本的方法,判断是否有下一个值,取出下一个值。
2.迭代器实现类
public class NameIterator implements Iterator{
private String[] names = {"xl","zj","lq"};
int index;
@Override
public boolean hasNext() {
if(names.length > index){
return true;
}
return false;
}
@Override
public Object next() {
return names[index++];
}
}迭代器里面的集合实现,就是用的数组。也可以用列表的来表示。
3.测试客户端
public class Client {
public static void main(String[] args) {
Iterator iterator = new NameIterator();
for(;iterator.hasNext();){
System.out.println(iterator.next());
}
}
}真正使用的时候,直接调用的是迭代器的方法,具体的实现都是隐藏了的。
本文介绍了迭代器模式的基本概念,通过定义一个迭代器接口并提供一个简单的实现类来演示如何遍历集合中的元素,同时展示了如何在客户端代码中使用迭代器模式。
430

被折叠的 条评论
为什么被折叠?



