嵌套的迭代器Java

时间:2015-12-15 15:53:13

标签: java interface iterator

我很难理解如何使用迭代器和接口。我需要使用接口创建一个嵌套的迭代器,它遍历一个类中的一副牌(不使用内置的List迭代器)。然后我需要创建一个方法,使用迭代器中的remove()方法删除并返回。

目前显示错误,但这是我目前所拥有的。

public interface DeckIterator implements Iterator <Card> {

    public boolean hasNext();
    public Card next();
    public void remove();

}

我希望有人能指出我正确的方向。

3 个答案:

答案 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

}