ListInterator原始碼學習

2021-10-08 22:01:35 字數 937 閱讀 5798

listinterator是list集合的迭代器。它的允許對集合以任意方向進行遍歷、修改、獲取當前的位置。它本·身是乙個指標,通過移動指標來實現對集合的遍歷等操作。而指標指向的位置並不是當前元素前乙個位置,而是兩個元素之間的位置,比如:在遍歷集合時,遍歷到2時,指標處於1和2之間的位置,因此它可以通過next()和previous()方法很容易的獲取到下乙個元素和之前的元素,也可以通過nextindex()和previousindex()獲取到下乙個元素的位置和上乙個元素的位置。

編號

方法名解釋

1boolean hasnext()

判斷是否有下乙個元素,如果有則返回true,否則返回false。

2int nextindex()

返回下乙個元素的下標

3e next()

返回下乙個元素,如果沒有下乙個,則會報nosuchelementexception。

4boolean hasprevious()

判斷是否有上乙個元素,如果有則返回true,否則返回false。

5int previousindex()

返回上乙個元素的下標

6e previous()

返回上乙個元素,如果沒有上乙個,則會報nosuchelementexception。

7void remove()

刪除下乙個或者上乙個元素,取決於剛剛執行的是next()方法還是previous()方法,如果沒執行而呼叫該方法,則會報illegalstateexception。

8void set(e e)

修改下乙個或者上乙個元素,取決於剛剛執行的是next()方法還是previous()方法,如果沒執行而呼叫該方法,則會報illegalstateexception。

9void add(e e)

在當前指標的previous位置插入指定的元素。

AbstractCollection原始碼分析

abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...

ThreadPoolExecutor原始碼閱讀

執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...

OrangePi One Android 原始碼編譯

一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...