五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎,Java

2023-07-22 10:45 作者:Cloud-yunduo  | 我要投稿
  1. JDK1.7版本的HashMap的數(shù)據(jù)結(jié)構(gòu)是什么?
一維數(shù)組+單向鏈表
  1. HashMap默認初始化容量是多少?
1<<4 -- 16
  1. HashMap容量為什么必須是2的冪?
獲取元素在數(shù)組中的下標是 元素的hash值&數(shù)組的長度-1
如果數(shù)組的長度不是2的冪,-1就會導致二進制中的某幾位都是0,和元素的hash值做&運算,二進制上的某幾位就永遠是0,最終導致下標分布不均勻,浪費空間
  1. HashMap最大容量是多少?
1<<30 -- 1073741824
  1. HashMap最大容量為什么是1<<30?
HashMap容量為int類型,而且容量必須是2的冪
1<<30 是int取值范圍內(nèi)最大的二的冪的數(shù)字
  1. HashMap默認的負載因子是多少?
0.75f
  1. HashMap默認的負載因子為什么是0.75f?
取得了時間和空間的平衡
如果負載因子過大,利用了空間,浪費了時間
如果負載因子過小,利用了時間,浪費了空間
  1. 什么叫做Hash沖突/碰撞?
多個元素的hash值一樣,在數(shù)組中的下標也是一樣的
  1. 怎么避免hash沖突?
根據(jù)對象判斷標準,重寫hashCode和equals即可
  1. HashMap何時擴容?
如果映射關(guān)系個數(shù)大于等于閾值 并且 當前下標上的元素不為null,就擴容
  1. HashMap存放null鍵的位置在哪?
存放在下標為0的位置
  1. HashMap擴容機制是什么?
是原來長度的2倍
  1. JDK1.7版本的HashMap和JDK1.8版本的HashMap有何區(qū)別?
JDK1.7的HashMap
數(shù)據(jù)結(jié)構(gòu):一維數(shù)組+單向鏈表
計算hash值:位運算
單向鏈表插值法:頭插法
JDK1.8的HashMap
數(shù)據(jù)結(jié)構(gòu):一維數(shù)組 + 單向鏈表 + 紅黑樹
一維數(shù)組 + 單向鏈表 -- 鏈表長度>8 && 數(shù)組長度 > 64 --> 一維數(shù)組+紅黑樹 (目的:提高查詢效率)
一維數(shù)組 + 紅黑樹 -- 紅黑樹節(jié)點 < 6 --> 一維數(shù)組 + 單向鏈表
計算hash值:高16位 ^ 低16位(計算更加散列的hash值)
單向鏈表插值法:尾插法



千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎,Java的評論 (共 條)

分享到微博請遵守國家法律
双城市| 苍山县| 静乐县| 衡山县| 通山县| 湘乡市| 兰考县| 岢岚县| 称多县| 德保县| 德化县| 阿克| 屯昌县| 宣城市| 赤城县| 神木县| 临清市| 西盟| 茌平县| 兴业县| 锡林浩特市| 莱州市| 正镶白旗| 施秉县| 哈尔滨市| 铜山县| 鹤庆县| 唐河县| 定边县| 四平市| 阳西县| 阿拉尔市| 张家港市| 贵定县| 辰溪县| 习水县| 东阿县| 贡嘎县| 四会市| 柘荣县| 济宁市|