目錄

(一)一起學 Java Collections Framework 源碼之 概述

(二)一起學 Java Collections Framework 源碼之 AbstractCollection

 

java.util.AbstractCollection 類提供了 java.util.Collection 接口的骨干實現,也是 Java 集合框架(JCF, Java Collections Framework)中列表(List/Set)族相對較為頂層的實現類,這一點大家通過上一篇博文的 圖1 就可以看出來了。此類是抽象類,因此僅僅實現了 Collection 接口中一些最基本的方法。由于此類沒有實現 List 接口,所以它的子類未必都是有序的,因此它可以作為 List(有序)實現類和 Set(無序)實現類的共同祖先類。

下面我們對 AbstractCollection 類中一些常見的方法實現逐個進行分析。

1.iterator() 方法

public abstract Iterator<E> iterator();

 

 此方法返回一個迭代器,該迭代器用于遍歷這個列表中的每一個元素。由于 java.util.Iterator 也是一個接口,所以不同的數據結構實現(也就是不同的子類)可以根據自己的需要來定義不同的迭代方式,所以此方法被定義為一個抽象方法,沒有對它進行實現。

2.isEmpty() 方法

1 public boolean isEmpty() {2     return size() == 0;3 }

 

這個很好理解,用來判斷當前集合是不是空的,不做過多的解釋。

3.contains(Object o) 方法

網友評論