我正在使用收藏品。困扰我的一件事是:java.util.Iterator接口的方法的实现在哪里?这些方法在哪个类中实现?
public abstract boolean hasNext();
public abstract E next();
public abstract void remove();
我搜索了java API的源代码,但没有在任何类中找到这些方法的实现。
答案 0 :(得分:7)
Iterator是一个接口,它在java api中有大约50个实现。 因为迭代器需要与迭代对象类型进行比较,所以如果你想迭代一个ArrayList,你的iterator()方法返回的迭代器实例是新的Itr类型。请参阅java.util.AbstractList类中的实现,该类构成ArrayList
的基类答案 1 :(得分:1)
JDK中有多个类已经实现了。 ArrayList是您关注的一个很好的例子。您可以浏览openJDK中的code。而iterator
方法定义是 -
public Iterator<E> iterator() {
return new Itr();
}
此Itr私有类实现Iterator<E>
并定义所有itarator方法。
答案 2 :(得分:0)
您可以搜索实现Iterator的java apis。这些类都实现了上述方法。去浏览jdk源代码。它会对你有所帮助。
答案 3 :(得分:0)
如果您正在使用eclipse,并且您在eclipse中配置了源代码。
只需选择方法并按Ctrl + T(显示类型层次结构),您就可以看到已实现该方法的所有类。