一文读懂HashMap和HashTable的区别以及常见面试题( 十 )
后面添加的entry反而会接到前面 。
一、是链的产生 。
\n这是一个非常优雅的设计 。 系统总是将新的Entry对象添加到bucketIndex处 。 如果bucketIndex处已经有了对象 , 那么新添加的Entry对象将指向原有的Entry对象 , 形成一条Entry链 , 但是若bucketIndex处没有Entry对象 , 也就是e==null那么新添加的Entry对象指向null , 也就不会产生Entry链了 。
\n二、扩容问题 。
\n随着HashMap中元素的数量越来越多 , 发生碰撞的概率就越来越大 , 所产生的链表长度就会越来越长 , 这样势必会影响HashMap的速度 , 为了保证HashMap的效率 , 系统必须要在某个临界点进行扩容处理 。
\n该临界点在当HashMap中元素的数量等于table数组长度*加载因子 。 但是扩容是一个非常耗时的过程 , 因为它需要重新计算这些数据在新table数组中的位置并进行复制处理 。 所以如果我们已经预知HashMap中元素的个数 , 那么预设元素的个数能够有效的提高HashMap的性能 。
推荐阅读
- 地下城堡|《代号:破晓》官网“暗藏”剧情,你都读懂了吗?
- 法术|双城之战:羁绊、海克斯强化、装备一文看懂
- 仙剑奇侠传七|“吃鸡”游戏中单价最高的氪金物品!氪度力压车皮,却一文不值!
- 打野|王者荣耀:S25赛季打野需要注意什么?读懂这篇攻略,轻松上分
- 地下城与勇士|DNF:DNF超高质量减负,9.14减负改动一文看完
- 金泰相|“亚军不配找借口”Doinb谈亚军一文不值,只有S11夺冠才能找回颜面
- 梦幻西游|梦幻西游:老王打错灵犀玉损失5000元,百万无级别变得一文不值
- 电子竞技|电竞精神一文不值,贝克曼惨遭炮轰,久城透露QG假赛隐情!
- 孙一文|王者荣耀孙一文联动实锤?采访透露设计想法,皮肤想要带龙标
- 孙一文|王者荣耀:孙一文想要夏洛特冠军皮肤,两点要求让天美无能为力!