Iterator方法的实现

时间:2012-09-02 06:53:01

标签: java collections

我正在使用收藏品。困扰我的一件事是:java.util.Iterator接口的方法的实现在哪里?这些方法在哪个类中实现?

 public abstract boolean hasNext();
 public abstract E next();
 public abstract void remove();

我搜索了java API的源代码,但没有在任何类中找到这些方法的实现。

4 个答案:

答案 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(显示类型层次结构),您就可以看到已实现该方法的所有类。