更新時(shí)間:2020-08-04 16:25:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽6898次
Collection是一個(gè)高度抽象的接口,它主要有List和Set兩個(gè)分支,List和Set也是接口,它們繼承Collection接口。List是一個(gè)有序的隊(duì)列,List中可以有重復(fù)的元素;Set是數(shù)學(xué)中的一個(gè)概念,Set中不允許有重復(fù)元素存在。為了方便起見(jiàn),Java作者抽象出了AbstractCollection抽象類(lèi),它實(shí)現(xiàn)了Collection中的大部分功能,在實(shí)現(xiàn)Collection的時(shí)候,只需要繼承AbstractCollection抽象類(lèi),就可以實(shí)現(xiàn)需求,避免了冗余編碼。AbstractList和AbstractSet繼承AbstractCollection抽象類(lèi),List的具體實(shí)現(xiàn)類(lèi)實(shí)現(xiàn)了AbstractList接口,Set則是實(shí)現(xiàn)了AbstractSet接口。
此外,Collection中有一個(gè)iterator()函數(shù),它的作用是返回一個(gè)Iterator接口。通常,我們通過(guò)Iterator迭代器來(lái)遍歷集合。ListIterator是List接口所特有的,在List接口中,通過(guò)ListIterator()返回一個(gè)ListIterator對(duì)象。
下面具體講解Collection的方法。
Collection的定義如下:public interface Collection<E>extends Iterable<E>{},它是一個(gè)接口,是高度抽象出來(lái)的集合,它包含了集合的基本操作:添加、刪除、清空、遍歷(讀取)、是否為空、獲取大小、是否保護(hù)某元素等等。它的主要API如下:
List接口繼承Collection,是集合的一種,List是一個(gè)有序集合,可以存放重復(fù)元素,每個(gè)元素都有自己的索引,第一個(gè)元素的索引是0。由于繼承了Collection,List也包含了Collection中的所有接口,此外,List還有自己的接口。相比于Collection,List新增的接口如下:
從API可以看出,主要有“添加、刪除、獲取、修改指定位置的元素”、“獲取List中的子隊(duì)列”等。
Set也繼承Collection,所以也是集合的一種,和List允許有重復(fù)元素不同,Set不允許有重復(fù)元素。Set不允許重復(fù)是依賴于Map的key唯一的機(jī)制,這個(gè)后面會(huì)詳細(xì)說(shuō)明。下圖是Set的API。
從API可以看出,Set的API和Collection一樣。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中collection是什么”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)