Java中有幾種集合?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)渝中,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
java集合主要有3種:set(集)、list(列表)和map(映射)。
一、List集合:(有序,元素可以重復(fù))
List里存放的對(duì)象是有序的,同時(shí)也是可以重復(fù)的,List關(guān)注的是索引,擁有一系列和索引相關(guān)的方法,查詢速度快。因?yàn)橥鵯ist集合里插入或刪除數(shù)據(jù)時(shí),會(huì)伴隨著后面數(shù)據(jù)的移動(dòng),所有插入刪除數(shù)據(jù)速度慢。
1、ArrayList集合:
1)、底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查找快,增刪慢。
2)、線程不安全,效率高
2、Vector集合:
1) 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢
2)線程安全,效率低
3、LinkedList集合:
1) 底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快
2)線程不安全,效率高
二、Set集合(元素不可重復(fù),元素唯一)
Set里存放的對(duì)象是無(wú)序,不能重復(fù)的,集合中的對(duì)象不按特定的方式排序,只是簡(jiǎn)單地把對(duì)象加入集合中。
1、Hashset集合:
1) 底層數(shù)據(jù)結(jié)構(gòu)是哈希表,哈希表依賴兩個(gè)方法hascode ()和equals()方法
2)兩個(gè)方法的執(zhí)行順序:
首先判斷hascode()值是否相同
是:繼續(xù)執(zhí)行equals()方法,看其返回值
是true:說(shuō)明元素重復(fù),不添加
是false:就直接添加元素
否:就直接添加到集合
2、Treeset集合:
1)底層數(shù)據(jù)結(jié)構(gòu)是二叉樹(shù)
三、Map集合
Map集合中存儲(chǔ)的是鍵值對(duì),鍵不能重復(fù),值可以重復(fù)。根據(jù)鍵得到值,對(duì)map集合遍歷時(shí)先得到鍵的set集合,對(duì)set集合進(jìn)行遍歷,得到相應(yīng)的值。
1、Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合兩個(gè)子類。
2、Map集合中只對(duì)鍵有效,而對(duì)值是無(wú)效的。
3、子類的數(shù)據(jù)結(jié)構(gòu):
Hashmap:底層數(shù)據(jù)結(jié)構(gòu)是哈希表,Treemap底層數(shù)據(jù)結(jié)構(gòu)是二叉樹(shù),其性質(zhì)和Set的底層數(shù)據(jù)結(jié)構(gòu)一樣。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。