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