大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 HashMap初始容量計算方法

HashMap初始容量計算方法

更新時間:2022-01-05 10:58:44 來源:動力節點 瀏覽1470次

HashMap是java集合框架中高性能的數據結構之一。無論數據有多大,HashMap幾乎都能為最頻繁的操作——插入和檢索——提供恒定的時間性能。這就是為什么HashMap是需要更快檢索和更快插入操作的大數據的首選。有兩個因素會影響HashMap的性能。一個是負載系數,另一個是初始容量。在構建HashMap時,您必須非常謹慎地選擇這兩個因素 目的。在這篇文章中,我們將看看 HashMap 中的初始容量和負載因子,看看它們如何影響HashMap的性能。

HashMap初始容量計算方法

HashMap 的初始容量:

HashMap的容量 是哈希表中的桶數。初始容量是HashMap創建時的容量 。所述的默認初始容量HashMap中為2 4,即16.的容量HashMap中每次它達到閾值的時間加倍。即容量增加到 2 5 =32, 2 6 =64, 2 7 =128..... 當達到閾值時。

HashMap 的負載因子:

負載因子是決定何時增加HashMap容量的度量。默認負載系數為 0.75f。

如何計算閾值?

HashMap的閾值是當前容量和負載因子的乘積。

閾值 =(電流容量)*(負載系數)

例如,如果創建的HashMap初始容量為 16,負載因子為 0.75f,則閾值將為,

閾值 = 16 * 0.75 = 12

也就是說,將第 12 個元素(鍵值對)添加到HashMap后,HashMap的容量從 16 增加到 32 。

初始容量和負載因子如何影響 HashMap 的性能?

每當HashMap達到其閾值時,就會發生重新散列。重新散列是創建具有新容量的新HashMap對象并將所有舊元素(鍵值對)重新計算其散列碼后放入新對象的過程。這個重新散列的過程既耗費空間又耗費時間。因此,您必須通過記住預期元素(鍵值對)的數量來選擇初始容量,以便重新散列過程不會過于頻繁地發生。

在選擇負載因子時,您還必須非常小心。根據HashMap文檔,0.75f 的默認負載因子總是在空間和時間方面提供最佳性能。例如,

如果您選擇負載因子為 1.0f,則在填充 100% 的當前容量后進行重新散列。這可能會節省空間,但會增加現有元素的檢索時間。假設如果您選擇負載因子為 0.5f,則在填充 50% 的當前容量后進行重新散列。這將增加重新散列操作的數量。這將在空間和時間方面進一步降低 HashMap。

因此,在選擇HashMap對象的初始容量和負載因子時必須非常小心。選擇初始容量和負載因子,以便最大限度地減少重新散列操作的數量。

通過上述介紹,相信大家對HashMap初始容量計算方法已經有所了解,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java基礎教程,里面有更豐富的知識在等著大家去學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品久久视频 | 日本不卡一区二区三区 最新 | 亚洲欧洲综合网 | 国产日韩欧美在线一区二区三区 | 欧美日韩亚洲综合在线一区二区 | 欧洲97色综合成人网 | 波多野结衣精品中文字幕 | 老司机午夜在线视频免费 | 天堂成人一区二区三区 | 中文字幕日韩一区 | 99久久精品国产片 | 国产理论视频在线观看 | 在线观看日本免费不卡 | 免费看欧美一级特黄α大片 | 99久久这里只精品国产免费 | 精品久久久久久久久久久久久久久 | 久久国产免费一区二区三区 | 欧美日韩亚洲成人 | 色婷婷精品免费视频 | 97在线观看成人免费视频 | 精品久久久在线观看 | 欧美成人网在线综合视频 | 夜夜狠操| 久久99精品久久久久久野外 | 天天玩天天操 | 国产精品亚洲综合色拍 | 福利视频一区二区 | 午夜剧j| 国产美女白丝袜精品_a不卡 | 99精品国产高清一区二区麻豆 | 中文字幕不卡 | 国产精品免费久久久免费 | 欧美人成在线 | 亚洲精品免费在线视频 | 97色在线观看免费视频 | 免费精品美女久久久久久久久久 | 中文字幕日韩一区二区不卡 | 成人a免费视频播放 | 一个色综合亚洲色综合 | 亚洲精品国产精品一区二区 | 福利免费观看 |