介紹
Java 平臺包含一個集合框架。一個集合是一個包含了一組對象的對象(例如經典的 Vector 類)。集合框架採用了統一的架構來操做各個集合,以便使用操做集合和集合實現細節分離。
集合框架的主要優勢以下:java
- 經過提供數據結構和算法省去了用戶本身設計的功夫,下降了編程難度
- 經過提供數據結構和算法的高性能實現,來增長用戶程序性能,用戶能夠切換不一樣的實現進行性能調優
- 包裝了不相關的 APIs,爲用戶提供了統一的 APIs
- 省去了用戶學習多套 APIs 的麻煩
- 省去了用戶本身設計並實現的麻煩
- 經過提供標準的接口加強了軟件的可重用性
集合框架由如下內容組成:算法
- 框架接口,包括經常使用的 sets,lists 以及 maps
- 通用的實現
- 歷史遺留實現,早期的 Vector 和 Hashtable 類均在集合框架中從新實現
- 爲特殊狀況準備的實現,這些實現沒有標準的性能,使用約束
- 併發實現,這些實現是爲高併發程序所準備
- 包裝實現,功能加強,例如增長了同步效果
- 簡便實現,集合接口的高性能的最小實現
- 抽象實現,集合接口的部分實現以便支持用戶自定義實現
- 算法,提供了有用的靜態方法,例如排序
- 基本設施,未集合接口提供支持的接口
- 數組工具,爲原始類型或引用類型數組提供的工具方法
集合接口
集合接口被分紅了兩組。最基本的接口 java.util.Collection 有兩類後代子類:編程
- java.util.Set
- java.util.SortedSet
- java.util.NavigableSet
- java.util.Queue
- java.util.concurrent.BlockingQueue
- java.util.concurrent.TrasnferQueue
- java.util.Deque
- java.util.concurrent.BlockingDeque
另一組集合接口繼承於 java.util.Map,而且不是真正的集合。可是這些接口也包含了集合方面的操做,其子類有:數組
- java.util.SortedMap
- java.util.NavigableMap
- java.util.concurrent.ConcurrentMap
- java.util.concurrent.ConcurrentNavigableMap