目錄
(一)一起學 Java Collections Framework 源碼之 概述
(二)一起學 Java Collections Framework 源碼之 AbstractCollection
java.util.AbstractCollection 類提供了 java.util.Collection 接口的骨干實現(xiàn),也是 Java 集合框架(JCF, Java Collections Framework)中列表(List/Set)族相對較為頂層的實現(xiàn)類,這一點大家通過上一篇博文的 圖1 就可以看出來了。此類是抽象類,因此僅僅實現(xiàn)了 Collection 接口中一些最基本的方法。由于此類沒有實現(xiàn) List 接口,所以它的子類未必都是有序的,因此它可以作為 List(有序)實現(xiàn)類和 Set(無序)實現(xiàn)類的共同祖先類。
下面我們對 AbstractCollection 類中一些常見的方法實現(xiàn)逐個進行分析。
1.iterator() 方法
public abstract Iterator<E> iterator();
此方法返回一個迭代器,該迭代器用于遍歷這個列表中的每一個元素。由于 java.util.Iterator 也是一個接口,所以不同的數據結構實現(xiàn)(也就是不同的子類)可以根據自己的需要來定義不同的迭代方式,所以此方法被定義為一個抽象方法,沒有對它進行實現(xiàn)。
2.isEmpty() 方法
1 public boolean isEmpty() {2 return size() == 0;3 }
這個很好理解,用來判斷當前集合是不是空的,不做過多的解釋。
3.contains(Object o) 方法
延伸閱讀
學習是年輕人改變自己的最好方式