【发布时间】:2015-03-11 16:51:44
【问题描述】:
我有两个类:MyArrayCollection,它实现了 Collection,以及 MyArrayList,它扩展了 MyArrayCollection 并实现了 List。第一个有迭代器()。如何在第二类的 listIterator() 实现中使用它?我的丑陋尝试:
class MyArrayCollection implements Collection<Integer> {
...
class CIterator implements Iterator<Integer> {
@Override
public boolean hasNext() {
return pos < size;
}
@Override
public Integer next() {
return array[++pos];
}
}
@Override
public Iterator<Integer> iterator() {
return new CIterator();
}
...
}
class MyArrayList extends MyArrayCollection implements List<Integer> {
...
class CListIterator extends CIterator implements ListIterator<Integer> {
...
}
@Override
public ListIterator<Integer> listIterator() {
return new CListIterator();
}
...
}
【问题讨论】:
-
所以如果我正确理解你的问题,你想在 listIterator 方法中返回 CIterator 但你不能?
标签: java iterator implementation extending listiterator