基本思路
- 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
的接口,并且重寫相應的方法。
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;
}
}
}