设计模式之迭代器模式
Posted nce4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之迭代器模式相关的知识,希望对你有一定的参考价值。
基本思路
- Iterator接口中有两个方法
public interface Iterator {
Object next();
boolean hasNext();
}
- Collection接口
定义一个返回类型为Iterator的方法
public interface collection {
public void add(Object o);
public int size();
Iterator iterator();
}
- 以ArrayList为例
继承Collection接口,并实现iterator
方法。
返回一个Iterator
类型的对象
// 返回的内容一定是实现了Iterator接口的类的对象,这个类具体是什么名字并不重要。
public Iterator iterator() {
return new ArrayListIterator();
}
该Iterator
类型的对象,实现了Iterator
的接口,并且重写相应的方法。
``` // 返回的内容一定是实现了Iterator接口的类的对象,这个类具体是什么名字并不重要。
public Iterator iterator() {
return new ArrayListIterator();
}
// 使用内部类的形式实现,
private class ArrayListIterator implements Iterator {
private int current = 0;
@Override
public Object next() {
// TODO Auto-generated method stub
Object o = objects[current];
current++;
return o;
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
if (current >= index) {
return false;
} else {
return true;
}
}
}
```
以上是关于设计模式之迭代器模式的主要内容,如果未能解决你的问题,请参考以下文章