迭代器缺少实现的功能(java)

时间:2016-04-18 08:55:38

标签: java iterator

我的类有一个Iterator方法(public Iterator iterator(boolean fromFront)),我的Iterator方法返回一个“new DoublyLinkedListIterator()”。 DoublyLinkedListIterator实现包含set方法的ListIterator。问题出在我的主要部分,我的迭代器无法访问set方法,Iterator iterator = deque.iterator(true);我也无法访问hasPrevious或以前的方法。

3 个答案:

答案 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循环。