黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Java中的集合你都詳細(xì)了解了嗎

Java中的集合你都詳細(xì)了解了嗎

更新時(shí)間:2021-05-10 16:03:26 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽960次

在使用Java的時(shí)候,我們都會(huì)遇到使用集合(Collection)的時(shí)候,但是Java API提供了多種集合的實(shí)現(xiàn),總的說(shuō)來(lái),Java API中所用的集合類,都是實(shí)現(xiàn)了Collection接口,他的一個(gè)類繼承結(jié)構(gòu)如下:

java中的集合

Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet

Vector:基于Array的List,其實(shí)就是封裝了Array所不具備的一些功能方便我們使用,它不可能不受Array的限制。性能也就不可能超越Array。所以,在可能的情況下,我們要多運(yùn)用Array。另外很重要的一點(diǎn)就是Vector:sychronized”的,這個(gè)也是Vector和ArrayList的唯一的區(qū)別。

ArrayList:同Vector一樣是一個(gè)基于Array上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector優(yōu)越一些,但是當(dāng)運(yùn)行到多線程環(huán)境中時(shí),可需要自己在管理線程的同步問(wèn)題。

LinkedList:LinkedList不同于前面兩種List,它不是基于Array的,所以不受Array性能的限制。它每一個(gè)節(jié)點(diǎn)(Node)都包含兩方面的內(nèi)容:1.節(jié)點(diǎn)本身的數(shù)據(jù)(data);2.下一個(gè)節(jié)點(diǎn)的信息(nextNode)。所以當(dāng)對(duì)LinkedList做添加,刪除動(dòng)作的時(shí)候就不用像基于Array的List一樣,必須進(jìn)行大量的數(shù)據(jù)移動(dòng)。只要更改nextNode的相關(guān)信息就可以實(shí)現(xiàn)了。這就是LinkedList的優(yōu)勢(shì)。

List總結(jié):

1.所有的List中只能容納單個(gè)不同類型的對(duì)象組成的表,而不是Key-Value鍵值對(duì)。例如:[tom,1,c];

2.所有的List中可以有相同的元素,例如Vector中可以有[tom,koo,too,koo];

3.所有的List中可以有null元素,例如[tom,null,1];

4.基于Array的List(Vector,ArrayList)適合查詢,而LinkedList(鏈表)適合添加,刪除操作。

HashSet:雖然Set同List都實(shí)現(xiàn)了Collection接口,但是他們的實(shí)現(xiàn)方式卻大不一樣。List基本上都是以Array為基礎(chǔ)。但是Set則是在HashMap的基礎(chǔ)上來(lái)實(shí)現(xiàn)的,這個(gè)就是Set和List的根本區(qū)別。HashSet的存儲(chǔ)方式是把HashMap中的Key作為Set的對(duì)應(yīng)存儲(chǔ)項(xiàng)。看看HashSet的add(Object obj)方法的實(shí)現(xiàn)就可以一目了然了。

    public boolean add(Object obj)
    {
        return map.put(obj, PRESENT) == null;
    }

這個(gè)也是為什么在Set中不能像在List中一樣有重復(fù)的項(xiàng)的根本原因,因?yàn)镠ashMap的key是不能有重復(fù)的。

LinkedHashSet:HashSet的一個(gè)子類,一個(gè)鏈表。

TreeSet:SortedSet的子類,它不同于HashSet的根本就是TreeSet是有序的。它是通過(guò)SortedMap來(lái)實(shí)現(xiàn)的。

Set總結(jié):

1.Set實(shí)現(xiàn)的基礎(chǔ)是Map(HashMap);

2.Set中的元素是不能重復(fù)的,如果使用add(Object obj)方法添加已經(jīng)存在的對(duì)象,則會(huì)覆蓋前面的對(duì)象

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的集合你都詳細(xì)了解了嗎”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 老司机日日摸夜夜摸精品影院 | 国产综合视频在线观看 | 狠狠色丁香婷婷综合小时婷婷 | 久久精品成人欧美大片免费 | 青青草针对 | 国产成人精品精品欧美 | 人人爽人人爽人人片av | 又www又黄又爽啪啪网站 | 中文字幕视频 | 97人人澡人人爽人人爱 | 亚洲高清免费观看 | 天堂中文资源在线8 | 久久综合九色综合欧美狠狠 | 色视频免费 | 亚洲aⅴ男人的天堂在线观看 | 亚洲国产精久久久久久久 | 99精品免费在线观看 | 夜色爽爽 | 成人黄色激情视频 | 黄色一级免费片 | 中文精品久久久久中文 | 成人小视频在线播放 | 一级女性全黄久久生活片免费 | 色综合久久天天综合绕观看 | 国产伊人网 | 黄色成人在线 | 成人二区 | 一级a毛片免费 | 免费人成网站永久 | 九九精品在线播放 | 日韩欧美亚洲一区二区综合 | 欧美在线观看视频网站 | 成人区精品一区二区不卡亚洲 | 国产精品久久久久9999 | 国产视频网| 国产精品hd | 黄色大片久久 | 欧美精品束缚一区二区三区 | 丁香激情小说 | 久热精品男人的天堂在线视频 | 一级毛片高清大全免费观看 |