
java 集合类
A-xun
这个作者很懒,什么都没留下…
展开
-
HashMap常见问题
hashMap如何计算key的hash值?为什么?hash = (h=key.hashCode()) ^ (h >>> 16)因为在计算下标值的时候,采用的公式是index = (n-1) & hash其中n是table的长度。一般情况下,table的长度不会超过2^16,因此hash的高16位往往无法参与到index的计算中来。为了降低hash碰撞的概率...原创 2020-02-25 11:25:40 · 297 阅读 · 0 评论 -
hashcode 和 equals 不得不说的故事
本文旨在介绍hashcode和equals的特征和联系。hashcode()这个方法的作用是为对象返回一个哈希值。需要注意的有以下三点:在一个程序的一次执行中,同一个对象多次返回的hashcode值,应该是一样的。除非equals方法中涉及到对象比较的部分发生了改变。而同一个程序的多次执行,返回的hashcode值可以是不同的。如果equals判断两个对象相等,那么二者调用hashcode()原创 2017-03-03 18:39:18 · 338 阅读 · 0 评论