集合概述
java的集合類是一些常用的數(shù)據(jù)類型,java集合就像一種容器,用于儲(chǔ)存數(shù)量不等的對(duì)象,并按照一些規(guī)范實(shí)現(xiàn)一些常用的操作和算法
框架
在jdk5.0之前,Java集合會(huì)丟失容器中所有對(duì)象的范類,將所有對(duì)啊ing都當(dāng)成Object類型進(jìn)行處理,從Jdk5.0增加的了泛型
創(chuàng)新互聯(lián)是一家專業(yè)提供陳巴爾虎企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為陳巴爾虎眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
java所有的集合類都在java.util包下
Java.util.concurrent包下提供了一些多線程支持的集合類
java的集合類實(shí)現(xiàn)有兩個(gè)接口派生而出:Colletion Map
上面的兩個(gè)接口派生出了一些接口或?qū)崿F(xiàn)類,java中的集合類分為三大類:
Set 集合將一個(gè)對(duì)象添加到Set集合時(shí),sET集合無(wú)法記住提娜佳的順序,因此Set集合中的元素不能重復(fù),否則系統(tǒng)無(wú)法識(shí)別該元素,訪問Set集合中的元素也只能根據(jù)元素本身進(jìn)行訪問
list 集合 與數(shù)據(jù)類型相似,list集合可以記住每次添加到元素的順序,因此可以根據(jù)元素的索引訪問List集合中的元素,List集合中的元素可以重復(fù)且長(zhǎng)度是可變的
Map集合:沒干過元素都是由Key/value鍵值對(duì)組成,可以根據(jù)每個(gè)元素的key來(lái)訪問對(duì)應(yīng)的value,Map集合中的Key不允許重復(fù),Value可以重復(fù)
迭代器可以采用同意的方式對(duì)Collection集合中的元素進(jìn)行遍歷操作,開發(fā)人員無(wú)須關(guān)心Collection集合中的內(nèi)容,也不必實(shí)現(xiàn)IEnumberble或者IEnumberator就能夠用foreach循環(huán)遍歷集合中的部分或全部元素
Set接口及其實(shí)現(xiàn)類
Set集合類似一個(gè)罐子,可以將多個(gè)元素怒丟進(jìn)罐子里,但不能記住元素的提添加順序,因此不允許包含相同的元素。Set接口繼承Collection接口,沒有提供任何額外的方法,其用法與Collection一樣,只是特性不同
set接口常用的實(shí)現(xiàn)類包括HashSet,treeset,enumset
hashset時(shí)set接口的典型實(shí)現(xiàn)類,大多數(shù)使用set集合時(shí)都是用該實(shí)現(xiàn)類,hashset使用hash算法來(lái)存儲(chǔ)集合中的元素,具有良好的存取及查找性
treeset采用tree(樹)的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)集合元素,因此可以保證集合中的元素處于排序狀態(tài),TreeSet支持兩種排序方式:自然排序和定制排序,默認(rèn)的情況下是自然排序