JAVA HashSet
HashSet 【重点】
哈希值
因为hashCode方法是可以重写的,所以:
同一个对象的哈希值一定相同
不同对象的哈希值一般不同,但也有可能相同
哈希值不同的绝对不是同一个对象
哈希值相同的可能是同一个对象,也可能不是同一个对象
HashSet底层不存储重复元素(元素唯一)的原理
hashCode方法和equals方法
首先通过hashCode方法计算哈希值,计算元素在底层数组中存储的位置,如果该位置上没有元素(null),
直接存储了,如果该位置上有元素,则需要通过equals做进一步的比较,如果结果为true,则说明是同一个对象
则不存储,如果结果为false,则存储。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ahir's Blog!
评论
GitalkDisqusjs