什么是hashcode啊

来源:百度知道 编辑:UC知道 时间:2024/06/21 00:31:51
今天在读java时,无意看到hashcode.个java对象都有hashcode.可是什么是hashcode呢。能给详细说下吗

就是一个散列码。一般情况下,如果hashCode相同,则equals应该也判定相等。就像MD5一样,但没MD5那么复杂。

散列的价值在于速度,使得查询得以快速进行。

查询一个值的过程首先就是计算散列码,然后使用散列码查询数组。数组并不直接保存值,而是保存值的list。然后对list中的值使用equels()方法进行线性查询。这部分查询会比较慢,但是,如果散列函数好的话,数组的每个位置只有较少的值。因此不是查询真个list,而是快速的跳到数组的某个位置,只对少数的元素进行比较。