麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > HashMap與ConcurrentHashMap的區(qū)別?ArrayList與LinkedList有什么區(qū)別

HashMap與ConcurrentHashMap的區(qū)別?ArrayList與LinkedList有什么區(qū)別

來(lái)源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-08-01 11:53:23 1659326003

  HashMap與ConcurrentHashMap的區(qū)別

  在Java編程語(yǔ)言中,最基本的結(jié)構(gòu)就是兩種,一個(gè)是數(shù)組,另外一個(gè)是模擬指針(引用),所有的數(shù)據(jù)結(jié)構(gòu)都可以用這兩個(gè)基本結(jié)構(gòu)來(lái)構(gòu)造的,HashMap也不例外。

  1. HashMap實(shí)際上是一個(gè)“鏈表的數(shù)組”的數(shù)據(jù)結(jié)構(gòu),每個(gè)元素存放鏈表頭結(jié)點(diǎn)的數(shù)組,即數(shù)組和鏈表的結(jié)合體。HashMap底層就是一個(gè)數(shù)組,數(shù)組中的每一項(xiàng)又是一個(gè)鏈表。當(dāng)新建一個(gè)HashMap的時(shí)候,就會(huì)初始化一個(gè)數(shù)組。

  2. ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment是一種可重入鎖ReentrantLock,在ConcurrentHashMap里扮演鎖的角色,HashEntry則用于存儲(chǔ)鍵值對(duì)數(shù)據(jù)。

  3. 一個(gè)ConcurrentHashMap里包含一個(gè)Segment數(shù)組,Segment的結(jié)構(gòu)和HashMap類(lèi)似,是一種數(shù)組和鏈表結(jié)構(gòu), 一個(gè)Segment里包含一個(gè)HashEntry數(shù)組。

  4. 每個(gè)HashEntry是一個(gè)鏈表結(jié)構(gòu)的元素, 每個(gè)Segment守護(hù)者一個(gè)HashEntry數(shù)組里的元素,當(dāng)對(duì)HashEntry數(shù)組的數(shù)據(jù)進(jìn)行修改時(shí),必須首先獲得它對(duì)應(yīng)的Segment鎖。

HashMap與ConcurrentHashMap的區(qū)別

  ArrayList 與 LinkedList有什么區(qū)別?

  因?yàn)?Array 是基于索引(index)的數(shù)據(jù)結(jié)構(gòu),它使用索引在數(shù)組中搜索和讀取數(shù)據(jù)是很快的。Array 獲取數(shù)據(jù)的時(shí)間復(fù)雜度是 O(1),但是要?jiǎng)h除數(shù)據(jù)卻是開(kāi)銷(xiāo)很大的,因?yàn)檫@需要重排數(shù)組中的所有數(shù)據(jù)。

  相對(duì)于 ArrayList,LinkedList 插入是更快的。因?yàn)?LinkedList 不像 ArrayList 一樣,不需要改變數(shù)組的大小,也不需要在數(shù)組裝滿(mǎn)的時(shí)候要將所有的數(shù)據(jù)重新裝入一個(gè)新的數(shù)組,這是 ArrayList 最壞的一種情況,時(shí)間復(fù)雜度是 O(n),而 LinkedList 中插入或刪除的時(shí)間復(fù)雜度僅為 O(1)。ArrayList 在插入數(shù)據(jù)時(shí)還需要更新索引(除了插入數(shù)組的尾部)。

  類(lèi)似于插入數(shù)據(jù),刪除數(shù)據(jù)時(shí),LinkedList 也優(yōu)于 ArrayList。

  LinkedList 需要更多的內(nèi)存,因?yàn)?ArrayList 的每個(gè)索引的位置是實(shí)際的數(shù)據(jù),而 LinkedList 中的每個(gè)節(jié)點(diǎn)中存儲(chǔ)的是實(shí)際的數(shù)據(jù)和前后節(jié)點(diǎn)的位置。

  如果你的應(yīng)用經(jīng)常需要隨機(jī)訪(fǎng)問(wèn)數(shù)據(jù),則考慮使用ArrayList。因?yàn)槿绻枰狶inkedList 中的第 n 個(gè)元素的時(shí)候,你需要從第一個(gè)元素順序數(shù)到第 n 個(gè)數(shù)據(jù),然后讀取數(shù)據(jù)。

  你的應(yīng)用經(jīng)常進(jìn)行插入和刪除元素,更少的讀取數(shù)據(jù),考慮使用LinkedList。因?yàn)椴迦牒蛣h除元素不涉及重排數(shù)據(jù),所以它要比 ArrayList 要快。

  更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢(xún)千鋒教育在線(xiàn)名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專(zhuān)業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問(wèn)題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問(wèn)題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語(yǔ)言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語(yǔ)言,因此在設(shè)計(jì)過(guò)程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36
IT通常說(shuō)的平臺(tái)是什么意思?

在信息技術(shù)(IT)領(lǐng)域,”平臺(tái)”這個(gè)詞有著廣泛的含義,它常常指代支持軟件應(yīng)用開(kāi)發(fā)和運(yùn)行的基礎(chǔ)框架和環(huán)境。以下是對(duì)”平臺(tái)”這個(gè)概念的更深入...詳情>>

2023-10-14 11:55:36
什么是PowerPivot?

什么是PowerPivotPowerPivot,全稱(chēng)”P(pán)owerPivot for Excel”,是Microsoft提供的一種數(shù)據(jù)分析工具,可以作為Excel的插件使用。通過(guò)PowerPivot,...詳情>>

2023-10-14 11:25:48
主站蜘蛛池模板: 亚洲免费大片| 日本三级午夜理伦三级三| 女神捕电影高清在线观看| 51神马午夜| 美女张开腿让男人桶国产| 在线日韩理论午夜中文电影| 特黄a级毛片| 翁虹三级在线伦理电影| 美国十次啦大导航| 黄页网站在线免费观看| 午夜久| 日韩一级黄色片| 热99精品在线| 翁与小莹浴室欢爱51章| 80s国产成年女人毛片| 精品国产柚木在线观看| 美女脱了内裤打开腿让你桶爽 | 天天干天天射天天操| 练瑜伽的时候进入| 国产真乱全集mangent| 玉蒲团2之玉女心经| 国产一区美女视频| 高清一级做a爱免费视| 亚洲综合色视频在线观看| 四虎www成人影院| 色综合久久一本首久久| 幻女free性zozo交| 干妞网免费视频| 成品煮伊在2021一二三久| 最近2019中文字幕mv免费看| yy6080午夜一级毛片超清| 最近免费观看高清韩国日本大全| 日本中文字幕一区二区有码在线| 波多野结衣伦理视频| 日韩成人在线网站| 色一情一乱一伦一视频免费看| 性按摩xxxx| 国产精品久久久久久久久齐齐| 波多野结衣教师诱惑| 亚洲图片小说区| 成人av免费电影|