概论
什么是迭代器模式?迭代器模式是提供一种方法访问一个容器对象中的各个元素,而又不需要暴露该对象的细节。
迭代器模式示例
迭代器模式中分为4种角色。
①抽象迭代器
②具体迭代器
③抽象容器
④具体容器
首先我们一个抽象迭代器,抽象迭代器中包含遍历到下一个元素、判断遍历是否已经到了尾部、删除当前指向的元素。
1 public interfaceIterator {2
3 publicObject next();4 public booleanhasNext();5 public booleanremove();6 }
第3行,声明一个函数,获取下一个元素。
第4行,声明一个函数,判断是否还有下一个元素。
第5行,声明一个函数,删除元素。
我们再来新增一个具体的迭代器:源代码如下所示:
1 public class DefaultIterator implementsIterator {2
3 private Vector vector = newVector();4 public int cursor = 0;5
6 publicDefaultIterator(Vector vector) {7 this.vector =vector;8 }9
10 @Override11 publicObject next() {12
13 if(this.hasNext()) {14 return this.vector.get(cursor++);15 }16 return null;17 }18
19 @Override20 public boo