我想要迭代的列表包含一個Array。Java - 試圖在迭代器中創建迭代器
我想要做的是使在Iterator中創建一個Iterator成爲可能,這樣我就能遍歷每個Listelement中的數組。
我試着這樣說:
@Override
public Iterator<A> iterator() {
return new MyListIterator();
}
private class MyListIterator implements Iterator<A>, Iterable<B>
{
private Listelem current;
private MyListIterator()
{
this.current = head;
}
@Override
public boolean hasNext()
{
return this.current != null;
}
@Override
public A next()
{
A next = this.current.getValue();
this.current = this.current.getSuccessor();
return next;
}
@Override
public void remove()
{
Listelem tmp = head;
while(tmp.getSuccessor().getSuccessor() != this.current)
{
tmp = tmp.getSuccessor();
}
tmp.setSuccessor(this.current);
}
@Override
public Iterator<B> iterator() {
return new MyInnerListIterator();
}
private class MyInnerListIterator implements Iterator<B>
{
private int currentIndex = 0;
private B[] array = current.getAssoc();
@Override
public boolean hasNext() {
return currentIndex < array.length && array[currentIndex] != null;
}
@Override
public B next() {
return array[currentIndex++];
}
@Override
public void remove() {
}
}
}
的問題是,當我創造與迭代器)的第一個迭代器()的對象不包含方法迭代器(。
有人可以解釋爲什麼這是行不通的,如何做到這一點不同?
無需使用迭代器即可輕鬆迭代數組。 – KKKCoder