download:​深入JavaScript高级语法-coderwhy​

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 不是匯合,但是它們完整整合在匯合中。