Java 汇合框架
早在 Java 2 中之前,Java 就提供了特設類。比方:Dictionary, Vector, Stack, 和 Properties 這些類用來存儲和操作對象組。
诚然這些類都十分有用,然而它們短少一個核心的,統一的主題。由於這個原因,運用 Vector 類的形式和運用 Properties 類的形式有著很大不同。
汇合框架被設計成要滿足以下幾個目标。
該框架必须是高性能的。根本汇合(動態數組,链表,樹,哈希表)的实现也必须是高效的。
該框架允許不同類型的汇合,以類似的形式工作,具备高度的互操作性。
對一個汇合的擴展和順應必须是简單的。
爲此,整個汇合框架就盤绕一組標準接口而設計。妳能够间接運用這些接口的標準实现,諸如:LinkedList, HashSet, 和 TreeSet 等, 除此之外妳也能够經過這些接口完本錢人的汇合。
Java 匯合框架次要包含兩品種型的容器,一種是匯合(Collection),存儲一個元素匯合,另一種是圖(Map),存儲键 / 值對映射。Collection 接口又有 3 種子類型,List、Set 和 Queue,再上面是一些笼統類,最後是詳細实现類,罕用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。
匯合框架是一個用來代表和摆布匯合的統一架構。所有的匯合框架都蕴含如下内容:
接口:是代表匯合的笼統數據類型。例如 Collection、List、Set、Map 等。之所以定義多個接口,是爲了以不同的形式操作匯合對象
实现(類):是匯合接口的詳細实现。從實質上講,它們是可反復運用的數據構造,例如:ArrayList、LinkedList、HashSet、HashMap。
算法:是实现匯合接口的對象里的辦法執行的一些有用的計算,例如:搜寻和排序。這些算法被稱爲多態,那是由於雷同的辦法能夠在類似的接口上有著不同的实现。
除了匯合,該框架也定義了幾個 Map 接口和類。Map 里存儲的是键 / 值對。雖然 Map 不是匯合,然而它們残缺整合在匯合中。