集合框架概覽

介紹

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
相關文章
相關標籤/搜索