download:??深入JavaScript高級(jí)語法-coderwhy??

Java 集合框架

早在 Java 2 中之前,Java 就提供了特設(shè)類。比如:Dictionary, Vector, Stack, 和 Properties 這些類用來存儲(chǔ)和操作對(duì)象組。

固然這些類都非常有用,但是它們?nèi)鄙僖粋€(gè)中心的,統(tǒng)一的主題。由於這個(gè)緣由,運(yùn)用 Vector 類的方式和運(yùn)用 Properties 類的方式有著很大不同。

集合框架被設(shè)計(jì)成要滿足以下幾個(gè)目的。

  • 該框架必需是高性能的?;炯希▌?dòng)態(tài)數(shù)組,鏈表,樹,哈希表)的完成也必需是高效的。
  • 該框架允許不同類型的集合,以類似的方式工作,具有高度的互操作性。
  • 對(duì)一個(gè)集合的擴(kuò)展和順應(yīng)必需是簡(jiǎn)單的。

爲(wèi)此,整個(gè)集合框架就盤繞一組標(biāo)準(zhǔn)接口而設(shè)計(jì)。妳可以直接運(yùn)用這些接口的標(biāo)準(zhǔn)完成,諸如: LinkedList, HashSet, 和 TreeSet 等,除此之外妳也可以經(jīng)過這些接口完本錢人的集合。

Java 匯合框架主要包括兩品種型的容器,一種是匯合(Collection),存儲(chǔ)一個(gè)元素匯合,另一種是圖(Map),存儲(chǔ)鍵/值對(duì)映射。Collection 接口又有 3 種子類型,List、Set 和 Queue,再下面是一些籠統(tǒng)類,最後是詳細(xì)完成類,常用的有 ??ArrayList??、??LinkedList??、??HashSet??、LinkedHashSet、??HashMap??、LinkedHashMap 等等。

匯合框架是一個(gè)用來代表和支配匯合的統(tǒng)一架構(gòu)。一切的匯合框架都包含如下內(nèi)容:

  • 接口:是代表匯合的籠統(tǒng)數(shù)據(jù)類型。例如 Collection、List、Set、Map 等。之所以定義多個(gè)接口,是爲(wèi)了以不同的方式操作匯合對(duì)象
  • 完成(類):是匯合接口的詳細(xì)完成。從實(shí)質(zhì)上講,它們是可反復(fù)運(yùn)用的數(shù)據(jù)構(gòu)造,例如:ArrayList、LinkedList、HashSet、HashMap。
  • 算法:是完成匯合接口的對(duì)象里的辦法執(zhí)行的一些有用的計(jì)算,例如:搜索和排序。這些算法被稱爲(wèi)多態(tài),那是由於相同的辦法能夠在類似的接口上有著不同的完成。

除了匯合,該框架也定義了幾個(gè) Map 接口和類。Map 里存儲(chǔ)的是鍵/值對(duì)。雖然 Map 不是匯合,但是它們完整整合在匯合中。