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