在java类中,是否实现了java.util.Iterator接口?

在java类中,是否实现了java.util.Iterator接口?,java,Java,我在一次采访中被问到,在哪个java类迭代器接口已经实现,其中定义了hasNext()、next()和remove()方法 请让我知道。这似乎很关键。

我在一次采访中被问到,在哪个java类迭代器接口已经实现,其中定义了
hasNext()
next()
remove()
方法


请让我知道。这似乎很关键。

是为Iterable接口提供实现的抽象类(通过实现List接口,其中List扩展集合Ifc;Collection扩展Iterable Ifc)

AbstractList有一个内部类
私有类Itr
,它实现了
迭代器
接口,意味着在这里为
hasNext(),next()
方法提供实现。 所以迭代器()::AbstractList方法正在为该集合上的遍历提供
新的Itr()
对象

ArrayList、Vector都是AbstractList的子类,这些子类本质上可以访问iterator()::AbstractList API并返回新的iterator对象

同样适用于SetAbstractCollection是迭代器实现的抽象类

我们在java.util.AbstractList中还有一个内部类,即
类ListItr扩展Itr实现ListIterator


这将允许我们在两个方向上遍历集合

迭代器接口在java.util.AbstractList中实现。下面是文档中的一个解释:“与其他抽象集合实现不同,程序员不必提供迭代器实现;迭代器和列表迭代器由这个类实现,位于“随机访问”方法之上:get(int-index)、set(int-index,Object-element)、set(int-index,Object-element),添加(int索引,对象元素)和删除(int索引)。”


方法iterator()返回列表中元素的迭代器。您还将在扩展AbstractList的类上看到此方法:Vector、ArrayList

您是否考虑过查看API文档?它列出了实现给定接口的类。这似乎与@Kanagavelu Sugumar大约一年前提供的另一个答案非常相似-这个答案如何添加任何内容?AbstractList没有实现迭代器接口;它实现了Iterable接口。仅iterator()::Iterable.java返回类型为iterator。