JDK原始碼解讀 Iterator(介面)

2021-09-27 06:10:19 字數 601 閱讀 9468

1.hasnext() 判斷是否還有元素

boolean hasnext();
2.next() 返回下乙個元素

e next();
3.remove()

default void remove()
一般集合都提供了remove方法,為什麼迭代器介面還要提供乙個介面呢?其實如果在iterator迭代操作的時候,collection結構有變化,比如新增了乙個元素或者刪除了乙個元素,會報錯哦。

也就是說:這裡提供了這個方法,可以一邊迭代一邊remove元素,具體怎麼實現的後面分析子類原始碼的時候再說。

4.foreachremaining()

default void foreachremaining(consumer<? super e> action)
這個方法跟iterable的foreach方法類似,不一樣的是,foreach是對所有元素,iterator是對剩餘的元素。

JDK原始碼解讀 Collection(介面)

collection介面是對儲存資料的容器的抽象,裡面定義的方法其實就是容器應該具有的功能。boolean add e e boolean addall collection c boolean remove object o boolean removeall collection c void ...

JDK原始碼解讀 List(介面)

list介面繼承了collection介面,是列表這一型別的基礎介面 int size boolean isempty boolean contains object o iteratoriterator object toarray t toarray t a boolean add e e bo...

JDK1 8原始碼 HashMap解讀

hashmap是我們最常用的集合型別之一了。也由於其高效 使用方便,我們有必要對其內部進行梳理一番。jdk1.8原始碼中,關於map的類圖關係如下 從map的類圖關係中,我們可以看出還是蠻豐富的。需要用到順序的,可以使用treemap,需要執行緒安全的可以使用hashtable和concurrent...