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

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

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

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

在使用Java的時(shí)候,我們都會(huì)遇到使用集合(Collection)的時(shí)候,但是Java API提供了多種集合的實(shí)現(xiàn),總的說來,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í),可需要自己在管理線程的同步問題。

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ǔ)上來實(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是有序的。它是通過SortedMap來實(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ì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美日韩不卡视频一区二区三区 | 夜间视频在线观看 | 狠狠躁夜夜躁人人爽天天天天 | 国产一区日韩二区欧美三区 | 亚洲欧美日韩中文在线 | av毛片免费看 | 欧美乱人伦中文字幕在线不卡 | 成人在线观看免费视频 | 亚洲高清毛片 | 黄色片视频国产 | 欧美日韩一区二区在线视频播放 | 91短视频在线观看免费最新 | 一个人在线视频免费观看www | 在线黄 | 男女视频免费在线观看 | 情人边吃奶边做好爽嗷嗷叫 | 日韩视频久久 | 国外成人在线视频 | 成人福利在线观看免费视频 | 成人免费观看完整视频 | 日韩伦理剧 | 欧美成人综合 | 我想看一级毛片免费的 | 欧美一区二区亚洲 | 在线免费看黄的网站 | 天天操天天操天天操天天操 | 欧美日批视频 | 男女情趣视频免费播放 | 天天网综合 | 欧美中文综合在线视频 | 在线观看国产黄色 | 天堂在线观看视频观看www | 欧美日日夜夜 | 成熟女人免费一级毛片 | 久草香蕉视频 | 亚洲成人免费 | 色网址在线观看 | 欧美成a人片免费看久久 | 7m福利视频导航精品 | 国产精品精品国产一区二区 | 91精品国产免费久久久久久青草 |