Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
迭代器缺少实现的功能(java)_Java_Iterator - Fatal编程技术网

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

迭代器缺少实现的功能(java),java,iterator,Java,Iterator,我的类有一个迭代器方法(public Iterator Iterator(boolean fromFront)),迭代器方法返回一个“new DoublyLinkedListIterator()”。DoublyLinkedListIterator实现包含set方法的ListIterator。在我的main中,迭代器没有访问set方法的权限,迭代器iterator=deque.iterator(true);我也没有访问hasPrevious或previous方法的权限。如果您想访问DoublyLi

我的类有一个迭代器方法(public Iterator Iterator(boolean fromFront)),迭代器方法返回一个“new DoublyLinkedListIterator()”。DoublyLinkedListIterator实现包含set方法的ListIterator。在我的main中,迭代器没有访问set方法的权限,迭代器iterator=deque.iterator(true);我也没有访问hasPrevious或previous方法的权限。

如果您想访问DoublyLinkedListInterator中的方法,则必须返回它而不是迭代器。(或在使用前进行铸造)


,以备需要。

如果要使用迭代器,但要向前/向后导航并更改链接顺序。。。要缩短修改列表结构的每个写入操作,您做错了


如果您有这样的需要,请使用while/do-while循环。

公开ListIterator的标准方法是在您的类上有一个
公共ListIterator ListIterator()
方法,就像在标准类中一样,因此您可以将其用作:

ListIterator literator = deque.listIterator();

请注意,内置的
Deque
类不支持
ListIterator
s。变量名取自您的示例代码,它有一个自定义类型。

请同时发布您的代码。如果您确定调用的是正确的方法,您可以将返回的迭代器强制转换为特定的DoublyLinkedListIteratorAlso,您的问题是什么?将返回类型设置为ListIterator,而不是iterator,或者在main中强制转换它