我很难理解如何使用迭代器和接口。我需要使用接口创建一个嵌套的迭代器,它遍历一个类中的一副牌(不使用内置的List迭代器)。然后我需要创建一个方法,使用迭代器中的remove()
方法删除并返回。
目前显示错误,但这是我目前所拥有的。
public interface DeckIterator implements Iterator <Card> {
public boolean hasNext();
public Card next();
public void remove();
}
我希望有人能指出我正确的方向。
答案 0 :(得分:0)
对于interface
extends
另一个interface
,请执行以下操作:
public interface DeckIterator extends Iterator <Card> {
implements
表示实现,当界面只有declare
方法时。
答案 1 :(得分:0)
我认为你想创建一个实现Iterator
接口的类,并使用方法体:
public class DeckIterator implements Iterator <Card> {
public boolean hasNext() {
// ...
}
public Card next() {
// ...
}
public void remove() {
// ...
}
}
答案 2 :(得分:0)
要实现迭代器,需要一个实现它的类。这是因为interface
没有实现具体的代码,只声明了方法。
如果您的接口extends
(未实现)Iterator
接口,则无需再次声明继承的方法,只需:
public interface DeckIterator implements Iterator <Card> {
}
现在,您已准备好实施代码:
public class DeckIteratorImpl implements DeckIterator {
public boolean hasNext() {
//your code
}
public Card next() {
//your code
}
public void remove() {
//your code
}
}
实际上,无需创建中间interface
。只需将DeckIterator
类型从interface
更改为class
:
public class DeckIterator implements Iterator<Card> {
//implement methods
}