一:迭代模式的定义:
提供一种方法访问一个容器对象的各个元素,而又不需要暴露该对象的内部细节。迭代器是为容器服务的,主要目的就是为了遍历集合元素。
二:迭代模式的实现:
抽象迭代器接口
public interface Iterator {
boolean hasNext();
Object next();
}
抽象容器接口
public interface Container {
Iterator getIterator();
}
具体迭代器和具体容器
public class NameRepository implements Container {
public String names[] = new String[] { "lisi", "wangwu", "666" };
@Override
public Iterator getIterator() {
return new NameIterator();
}
private class NameIterator implements Iterator {
int index;
@Override
public boolean hasNext() {
if (index < names.length) {
return true;
}
return false;
}
@Override
public Object next() {
if (this.hasNext()) {
return names[index++];
}
return null;
}
}
}
测试
public static void main(String[] args) {
NameRepository nameRepository = new NameRepository();
for (Iterator iterator = nameRepository.getIterator(); iterator.hasNext();) {
String name = (String) iterator.next();
System.out.println(name);
}
}