您现在的位置是:首页 > 文章详情

关于hashmap不得不提

日期:2018-09-19点击:565

总结什么的就不了,都太多了,不过很多都不太严谨或者不太准确,以当中的一些点提出说一下。只相信源码。

  1. 桶数组长度取2的次方的直接原因:将取模运算优化为做和length-1的与运算,并在此情况下,因为length-1二进制位全为1,求index的结果会等同于hashcode的后n位,也就是可以认为,只要hashcode本身是均匀的,那么hash算法结果也是均匀的。 要点:不是为了减少碰撞把长度取为2的次方,而是如果要用与运算,一定要是2的n次方,如果是为了减少碰撞,那么取素数才是最有效的。这里主要是运算的优化
  2. 关于JDK1.7put头插法,扩容头插法,1.8put尾插法,扩容头插法,也没几个说明白,博客什么的都好像差不多(你懂得),尾插法可以让resize后链表不发生反转,真的是这样吗?看过源码后,原来都在瞎xx说。(链表反转不会对链表产

原文链接:https://yq.aliyun.com/articles/642515
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章