1.java類集引出
類集實際上就屬於動態對象數組,在實際開發之中,數組的使用出現的機率並不高,因爲數組本身有一個最大的缺陷:數組長度是固定的。由於此問題的存在,從JDK1.2開始,Java爲了解決這種數組長度問題,提供了動態的對象數
組實現框架–Java類集框架。Java集合類框架實際上就是java針對於數據結構的一種實現。而在數據結構之中,最爲基礎的就是鏈表。
下面我們一起來回顧下鏈表的特點:
- 節點關係的處理操作,核心需要一個Node類(保存數據,設置引用)。
- 在進行鏈表數據的查找、刪除的時候需要equals()方法支持。
實際上之前鏈表的實現就是參考Java集合類實現的。
2.Collection接口
在Java的類集裏面(java.util包)提供了兩個最爲核心的接口:Collection、Map接口。其中Collection接口的操作形式,與之前編寫鏈表的操作形式類似,每一次進行數據操作的時候只能夠對單個對象進行處理。
Collection是單個集合保存的最大父接口。
Collection接口的定義如下:
public interface Collection<E> extends Iterable<E>
從JDK1.5開始發現Collection接口上追加有泛型應用,這樣的直接好處就是可以避免ClassCastException,裏面的所有數據的保存類型應該是相同的。在JDK1.5之前Iterable接口中的iterator()方法是直接在Collection接口中定義
的。此接口的常用方法有如下幾個:
在開發之中如果按照使用頻率來講:add()、iterator()方法用到的最多。需要說明的一點是,我們很少會直接使用Collection接口,Collection接口只是一個存儲數據的標準,並不能區分存儲類型。例如:要存放的數據需要區分重複與不重複。在實際開發之中,往往會考慮使用Collection接口的子接口:List(允許數據重複)、Set(不允許數據重複)。
以上接口的繼承、使用關係如下:
Collection接口中有兩個重要方法:add()、iterator()。子接口都有這兩個方法。