基于链表构建队列实现。由于两个错误,无法运行应用程序:
public class Queue<Integer> implements Iterable<Integer> {
...
public Iterator<Integer> iterator() {
return new ListIterator(first);
}
private class ListIterator<Integer> implements Iterator<Integer> {// error #1
private Node<Integer> current;
public ListIterator(Node<Integer> first) {
current = first;
}
public boolean hasNext(){ return current != null; }
public void remove() { throw new UnsupportedOperationException();}
public int next() { // error #2
if (!hasNext()) throw new NoSuchElementException();
int item = current.item;
current = current.next;
return item;
}
}
}
错误 #1:错误:Queue.ListIterator 不是抽象的,并且不会覆盖 Iterator 中的抽象方法 next(),其中 Integer 是类型变量:Integer extends Object 在类 Queue.ListIterator 中声明
错误#2:错误:Queue.ListIterator 中的 next() 无法在 Iterator 中实现 next() 返回类型 int 与其中 E,Integer 是类型变量的 Integer 不兼容:E 扩展接口 Iterator 中声明的对象 Integer 扩展类中声明的对象队列.ListIterator
如何让它工作?