2011-12-10 57 views

回答

0

java.util.AbstractList中是抽象類爲可迭代接口提供實現(通過實施列表界面,其中列出延伸收集IFC;收集延伸可迭代IFC)。

AbstractList具有內部類private class Itr,它實現Iterator接口,在此提供hasNext(), next()方法的實現方法。 因此,iterator():: AbstractList方法提供new Itr()對象來遍歷該集合。

ArrayList,Vector都是AbstractList的子類,它本質上具有對iterator():: AbstractList API的訪問並返回新的Iterator對象。

Simalarly for Set; AbstractCollection是迭代器實現的抽象類。

我們確實有一個多內部類中java.util.AbstractList中
class ListItr extends Itr implements ListIterator
這將使我們遍歷集合中的兩個方向。

2

迭代接口在java.util.AbstractList中http://docs.oracle.com/javase/1.5.0/docs/api/java/util/AbstractList.html實現。以下是來自文檔的解釋:「與其他抽象集合實現不同,程序員不必提供迭代器實現;迭代器和列表迭代器由該類實現,位於」隨機訪問「方法之上:get() INT指數),設置(INT索引,對象元素),設置(INT索引,對象元素)中,添加(INT指數,對象元素)和刪除(INT索引)。

方法迭代器()返回列表中元素的迭代器。您還將在擴展AbstractList:Vector,ArrayList的類上看到此方法。

+1

這似乎與一年前由@Kanagavelu Sugumar提供的其他答案非常相似 - 此答案如何添加任何內容? – Krease

+0

AbstractList不實現Iterator接口;它實現了Iterable接口。只有iterator():: Iterable.java返回類型是Iterator。 –

相關問題