两个类哈希值相等,不一定equals值相等,因为两个类可能发生哈希冲突,导致哈希的位置是一样的

如果两个类equals值相等,哈希值一定是一样的

如果两个类相等,那么哈希值和equals值都相等,也可以通过“=”进行判断

equals只能用来判断两个类的内容是否相同

哈希的作用是为了加快查找速度,通过计算哈希值的方法减少遍历的时间消耗,但是不同的对象的哈希值也可能是相同的,这就发生了哈希冲突,需要进行处理,拉链法、再哈希等

例如hashset,在检查元素是否存在时,通过判断元素的哈希值是否已经存在,如果没有,可以直接将元素放入set,否则再对元素进行equals值得比较,因为哈希冲突是可能的