日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

HashMap存在的意义是什么

發(fā)布時(shí)間:2024/1/3 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 HashMap存在的意义是什么 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HashMap 存在的意義是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

我一直在思考一個(gè)問(wèn)題:HashMap 存在的意義是什么?也就是說(shuō) Java 為什么要設(shè)計(jì) HashMap?

HashMap 可以存儲(chǔ)一組鍵值對(duì)的集合,并實(shí)現(xiàn)快速的查找。

為了實(shí)現(xiàn)快速查找,HashMap 選擇了數(shù)組而不是鏈表。以利用數(shù)組的索引實(shí)現(xiàn) O(1) 復(fù)雜度的查找效率。

為了利用索引查找,HashMap 引入 Hash 算法, 將 key 映射成數(shù)組下標(biāo): key -> Index。

引入 Hash 算法又導(dǎo)致了 Hash 沖突。

為了解決 Hash 沖突,HashMap 采用鏈地址法,在沖突位置轉(zhuǎn)為使用鏈表存儲(chǔ)。

鏈表存儲(chǔ)過(guò)多的節(jié)點(diǎn)又導(dǎo)致了在鏈表上節(jié)點(diǎn)的查找性能的惡化。

為了優(yōu)化查找性能,HashMap 在鏈表長(zhǎng)度超過(guò) 8 之后轉(zhuǎn)而將鏈表轉(zhuǎn)變成紅黑樹(shù),以將 O(n) 復(fù)雜度的查找效率提升至 O(log n)。

HashMap 存在的意義就是實(shí)現(xiàn)一種快速的查找并且插入、刪除性能都不錯(cuò)的一種 K/V(key/value)數(shù)據(jù)結(jié)構(gòu)。

關(guān)于HashMap 存在的意義是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注箭頭云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

總結(jié)

以上是生活随笔為你收集整理的HashMap存在的意义是什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。