【发布时间】:2014-11-26 15:51:36
【问题描述】:
大家好,我一直在自学 Java,并且正在完成这项任务。 http://ljing.org/games/focus/
所以我从头开始编写一个链表,我使用 LinkedList 类编写了一个 Deque 类 但是!
只有一个关于迭代器类的问题我不明白。 我只是不明白 Class Deque Iterator 应该做什么。
另外,我的代码中有这个:
class Deque<Item> implements Iterable<Item>.
然后编译器抱怨说在我的 Deque 类中我需要重写一个方法
@Override
public Iterator<Item> iterator()
{
throw new UnsupportedOperationException("Not supported yet.");
}
但我不明白为什么
【问题讨论】:
-
当您
implements一个接口时,您必须实现它的方法。你能澄清你在这方面的疑问吗?iteratior()每次调用时都应该返回一个新的迭代器。 -
你必须创建一个实现
Iterator<Item>的实例并在iterator()方法中返回它。 -
一个接口是一个
contract,它指定了一些方法和它们的行为。为了实现一个接口,你的类必须绑定到那个契约,并提供那些应该按预期工作的方法。 -
那么创建 Deque Iteraror 类的意义何在?是因为我会在 iterator() 方法中创建它的一个实例吗?
标签: java data-structures linked-list iterator deque