我的类有一个Iterator方法(public Iterator iterator(boolean fromFront)),我的Iterator方法返回一个“new DoublyLinkedListIterator()”。 DoublyLinkedListIterator实现包含set方法的ListIterator。问题出在我的主要部分,我的迭代器无法访问set方法,Iterator iterator = deque.iterator(true);我也无法访问hasPrevious或以前的方法。
答案 0 :(得分:1)
如果您想要访问 DoublyLinkedListIterator 中的方法,则必须返回而不是Iterator。 (或者在使用前进行演员)。
How to make a cast,万一你需要它。
答案 1 :(得分:0)
公开ListIterator的标准方法是在类上使用public <T> ListIterator<T> listIterator()
方法,就像在标准List
类中一样,因此您可以将其用作:
ListIterator literator = deque.listIterator();
请注意,内置Deque<T>
类不支持ListIterator
。变量名称取自您的示例代码,它具有自定义类型。
答案 2 :(得分:-2)
如果你想使用迭代器但想要向前/向后导航并改变链接顺序,......要修改每个修改列表结构的写入操作,你做错了强>
如果您有这样的需求,请转到while / do-while循环。