迭代器缺少实现的功能(java)
我的类有一个迭代器方法(public Iterator Iterator(boolean fromFront)),迭代器方法返回一个“new DoublyLinkedListIterator()”。DoublyLinkedListIterator实现包含set方法的ListIterator。在我的main中,迭代器没有访问set方法的权限,迭代器iterator=deque.iterator(true);我也没有访问hasPrevious或previous方法的权限。如果您想访问DoublyLinkedListInterator中的方法,则必须返回它而不是迭代器。(或在使用前进行铸造)迭代器缺少实现的功能(java),java,iterator,Java,Iterator,我的类有一个迭代器方法(public Iterator Iterator(boolean fromFront)),迭代器方法返回一个“new DoublyLinkedListIterator()”。DoublyLinkedListIterator实现包含set方法的ListIterator。在我的main中,迭代器没有访问set方法的权限,迭代器iterator=deque.iterator(true);我也没有访问hasPrevious或previous方法的权限。如果您想访问DoublyLi
,以备需要。如果要使用迭代器,但要向前/向后导航并更改链接顺序。。。要缩短修改列表结构的每个写入操作,您做错了
如果您有这样的需要,请使用while/do-while循环。公开ListIterator的标准方法是在您的类上有一个
公共ListIterator ListIterator()
方法,就像在标准类中一样,因此您可以将其用作:
ListIterator literator = deque.listIterator();
请注意,内置的
Deque
类不支持ListIterator
s。变量名取自您的示例代码,它有一个自定义类型。请同时发布您的代码。如果您确定调用的是正确的方法,您可以将返回的迭代器强制转换为特定的DoublyLinkedListIteratorAlso,您的问题是什么?将返回类型设置为ListIterator,而不是iterator,或者在main中强制转换它