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