java基礎(chǔ)--數(shù)據(jù)結(jié)構(gòu)比較

一、HashMap與Hashtable區(qū)別
HashMap:非線程安全,允許鍵和值null。
Hashtable:線程安全,不允許鍵和值null。
CorrentHashMap:線程安全,不允許鍵和值null。

二、CorrentHashMap的工作原理
jdk1.8中在HashMap基礎(chǔ)上堆Node中Value和next都用volatile修飾來保證并發(fā)的可見性。
jdk1.7中采用分段鎖,一個(gè)CorrentHashMap相當(dāng)于多個(gè)Segment(桶)組合,每個(gè)segment相當(dāng)于一個(gè)Hashtable,這樣相對(duì)于整體每次只鎖Segment而不是鎖整張表。

三、Array和ArrayList區(qū)別
Array:可以容納基本類型和對(duì)象,大小固定。
ArrayList:只容納對(duì)象,大小動(dòng)態(tài)變化(擴(kuò)容,每次擴(kuò)充當(dāng)前一般,復(fù)制數(shù)據(jù))。

四、ArrayList與LinkeList區(qū)別
ArrayList LinkeList
實(shí)現(xiàn)List接口 實(shí)現(xiàn)List接口
基于數(shù)組 基于鏈表
O(1) O(n)
查找速度快 插入添加刪除快
更占內(nèi)存,多了倆個(gè)引用前后元素

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java SE 基礎(chǔ): 封裝、繼承、多態(tài) 封裝: 概念:就是把對(duì)象的屬性和操作(或服務(wù))結(jié)合為一個(gè)獨(dú)立的整體,并盡...
    Jayden_Cao閱讀 2,247評(píng)論 0 8
  • 九種基本數(shù)據(jù)類型的大小,以及他們的封裝類。(1)九種基本數(shù)據(jù)類型和封裝類 (2)自動(dòng)裝箱和自動(dòng)拆箱 什么是自動(dòng)裝箱...
    關(guān)瑋琳linSir閱讀 2,064評(píng)論 0 47
  • java基礎(chǔ) 集合承繼包含圖 Collection vs Collections 首先,"Collection" ...
    onlyHalfSoul閱讀 1,434評(píng)論 0 5
  • 面向?qū)ο蟮娜齻€(gè)特征 封裝,繼承,多態(tài).這個(gè)應(yīng)該是人人皆知.有時(shí)候也會(huì)加上抽象. 多態(tài)的好處 允許不同類對(duì)象對(duì)同一消...
    Blizzard_liu閱讀 1,825評(píng)論 0 6
  • 本系列出于AWeiLoveAndroid的分享,在此感謝,再結(jié)合自身經(jīng)驗(yàn)查漏補(bǔ)缺,完善答案。以成系統(tǒng)。 Java基...
    濟(jì)公大將閱讀 1,620評(píng)論 1 6

友情鏈接更多精彩內(nèi)容