目錄

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

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

 

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

下面我們對(duì) AbstractCollection 類中一些常見的方法實(shí)現(xiàn)逐個(gè)進(jìn)行分析。

1.iterator() 方法

public abstract Iterator<E> iterator();

 

 此方法返回一個(gè)迭代器,該迭代器用于遍歷這個(gè)列表中的每一個(gè)元素。由于 java.util.Iterator 也是一個(gè)接口,所以不同的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)(也就是不同的子類)可以根據(jù)自己的需要來(lái)定義不同的迭代方式,所以此方法被定義為一個(gè)抽象方法,沒(méi)有對(duì)它進(jìn)行實(shí)現(xiàn)。

2.isEmpty() 方法

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

 

這個(gè)很好理解,用來(lái)判斷當(dāng)前集合是不是空的,不做過(guò)多的解釋。

3.contains(Object o) 方法

網(wǎng)友評(píng)論