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...