gpt4 book ai didi

java - 为abstractCollection实现迭代器

转载 作者:行者123 更新时间:2023-12-02 04:36:39 26 4
gpt4 key购买 nike

嗨,我想为扩展抽象 Collection 的类实现迭代器。

class Name<E extends Comparable<E>>
extends AbstractCollection<CompRational>
implements Iterable<E>{
...
public Iterator<E> iterator(){
return new NameIterator<E>(this);
}
...
}

迭代器应该如下所示

class NameIterator<E extends Comparable<E>> implements Iterator<E>{
private Name<E> tree;
private int pos = 0;

public NameIterator ( Name<E> t) {
...
}

@Override
public boolean hasNext() {
...
}

@Override
public E next () {
...
}

@Override
public void remove(){
throw new UnsupportedOperationException();
}
}

我收到的错误消息是我的类名称没有覆盖或实现迭代器,并且迭代器无法覆盖迭代器,因为类型不兼容,并且它说我正在使用两个不同的但在哪里以及如何以及如何获得摆脱它吗?

最佳答案

没有Collection实现Iterator。这是针对 Iterator 实例的。您的具体集合需要扩展 AbstractCollection,并且您的 NameIterator 实现 Iterator

class Name<E extends Comparable<E>> extends AbstractCollection {

@Override
public NameIterator<E> iterator() {
return new NameIterator<>();
}

@Override
public int size() {
return 0;
}
}

class NameIterator<E extends Comparable<E>> implements Iterator{

@Override
public boolean hasNext() {
return false;
}

@Override
public E next() {
return null;
}
}

关于java - 为abstractCollection实现迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30665652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com