更新時(shí)間:2022-08-16 來(lái)源:黑馬程序員 瀏覽量:
在之前的講解中,我們學(xué)習(xí)了通過(guò)數(shù)組來(lái)保存多個(gè)對(duì)象,但是為了滿足編程的需要,需要能隨時(shí)或在任何地方創(chuàng)建任意的數(shù)據(jù),甚至是不同類型的對(duì)象,這時(shí)數(shù)組就無(wú)法滿足我們的需求,數(shù)組只能存放統(tǒng)一類型的數(shù)據(jù),而且長(zhǎng)度固定,為此Java提供了集合。
為了在程序中保存數(shù)目不確定的對(duì)象,Java提供了一系列特殊的類,這些類可以存儲(chǔ)任意類型的對(duì)象,并且長(zhǎng)度可變,這些類統(tǒng)稱為集合。集合類都位于java.util中,使用時(shí)必須導(dǎo)包。
集合按照其存儲(chǔ)結(jié)構(gòu)可以分為兩大類,即單列集合Collection和雙列集合Map,這兩種集合的特點(diǎn)具體如下。
·Collection:?jiǎn)瘟屑项惖母涌冢糜诖鎯?chǔ)一系列符合某種規(guī)則的元素,它有兩個(gè)重要的子接口,分別是List和Set。其中,List的特點(diǎn)是元素有序、可重復(fù)。Set的特點(diǎn)是元素有序且不可重復(fù)。List接口的主要實(shí)現(xiàn)類有ArrayList和LinkedList,Set接口的主要實(shí)現(xiàn)類有HashSet和TreeSet。
·Map:雙列集合類的根接口,用于存儲(chǔ)具有鍵(Key)、值(Value)映射關(guān)系的元素,每個(gè)元素都包含一對(duì)鍵值,其中鍵值不可重復(fù)且每個(gè)鍵最多只能映射到一個(gè)值,在使用Map集合時(shí)可以通過(guò)指定的Key找到對(duì)應(yīng)的Value。例如,根據(jù)一個(gè)學(xué)生的學(xué)號(hào)就可以找到對(duì)應(yīng)的學(xué)生。Map接口的主要實(shí)現(xiàn)類有HashMap和TreeMap。
為了便于初學(xué)者進(jìn)行系統(tǒng)地學(xué)習(xí)集合的相關(guān)知識(shí),下面通過(guò)一張圖來(lái)描述整個(gè)集合類的繼承體系,如圖6-1所示。
圖6-1 集合類的繼承體系