ArrayList中迭代器(Iterator)實現

一、Iterator接口容許返回很是大的數據;java

二、使用java的list、set返回大量數據就須要大量堆內存;code

五、ArrayList 的Iterator 實現:索引

private class Itr implements Iterator<E> {//內部類
        //do something
    }

(1) Itr 內部定義了三個 int 型的變量:cursor、lastRet、expectedModCount;接口

(2) cursor 表示下一個元素的索引位置,lastRet 表示上一個元素的索引位置;內存

(3)modCount 用於記錄 ArrayList 集合的修改次數;it

(4)expectedModCount預期被修改的次數;ast

六、在java中,遍歷並刪除List中的元素,一般使用如下代碼:class

(1)正確代碼:變量

(2)錯誤代碼:List

(3)緣由剖析:

七、ArrayList內部實現的Iterator:

(1)    private class Itr implements Iterator<E> 

Iterator<String> it=aList.iterator();

(2)    private class ListItr extends Itr implements ListIterator<E>

  • 實現方法更多,好比遍歷時添加元素;
ListIterator<String> listIt = aList.listIterator();

相關文章
相關標籤/搜索