【发布时间】:2011-04-27 14:58:09
【问题描述】:
我有一个我自己构建的自定义、通用、单独的 LinkedList。我可以在列表中添加、删除等。我想为我的班级实现 Java ListIterator。我将如何开始这个?我需要在课堂上添加哪些方法?我在网上能找到的只是在默认的 Java LinkedList 上使用 ListIterator 的示例,这对我没有好处。谢谢!
【问题讨论】:
-
你不能在单链表上以理智的方式实现
ListIterator,因为ListIterator需要支持反向遍历,而这对于单链表是不可能的! -
@Joachim - 这绝对是可能的;只是非常低效。要后退,您只需要从列表的开头开始并前进,直到到达将当前节点作为其“下一个”元素的节点。
-
@Sean - 他还说反向遍历是“不可能的”。
-
@Ted 从技术上讲确实如此。这是不可能的,所以你必须伪造它。
-
@Sean - 我认为我们对“不可能”的含义有非常不同的想法。 :-)
标签: java listiterator