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

HashMap的構(gòu)造:
無參構(gòu)造:
HashMap<String,String> mp=new HashMap<>();
初始化默認(rèn)容量為16,擴容因子為0.75,閾值為12
意思是當(dāng)你的元素個數(shù)超過了12,就會擴容,擴容為之前的2倍。
帶參構(gòu)造:
HashMap<String,String> mp=new HashMap<>(10,0.8f);
這里的10就是初始容量,但是會給你轉(zhuǎn)為16,也就是大于等于你賦值的最靠近的2的次方。
如果你寫6,那就變成8,寫13,變16,寫23,變32。。。。。
0.8f是擴容因子,表示你的元素個數(shù)超過了百分之80就會擴容,還是擴容2倍。
注意:自己寫的擴容因子必須加f,表示是float類型的??梢詫懙谋?大,但是這樣很沒用,不推薦。擴容因子為0.75的好處:
如果擴展因子過小,HashMap 將會頻繁地擴展容量,導(dǎo)致較多的內(nèi)存開銷和較慢的查詢速度;如果擴展因子過大,HashMap 將較少地擴展容量,導(dǎo)致沖突的可能性增加,查詢速度可能會變慢。
————————————————
版權(quán)聲明:本文為CSDN博主「weixin_52606787」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_52606787/article/details/131816431
標(biāo)簽: