概述
HashCode详解
hashCode是用来散列存储的, 就是比如1000万个数据,本来需要1000完个坑来存,如果此时需要判断新增数据是否与之前重复? 依次遍历1000万条数据就显得很蠢。 这时聪明的你就能想到了,应该先分类,先看新增数据是哪一类,再遍历这一类就好了,对,hashCode可以理解为范式数据的类别,一个hashCode一个类。
那究竟有多少类呢? hash表就是所有类的展示。每一个hashCode都在酒里了,额不是,都在表里了。
java中的hashCode()方法
一般是对 一个对象的物理地址(内存地址)进行 hash算法, 求出的一个值。
ps:理论是是可以出现两个对象的地址不同,但是hashCode值相同的
equals方法
==
地址相同 && 值相同
String类中的equals方法和hashCode方法
String类只需要判断字符串值相同,就想认为它们相同,而不想关注地址
所以: equals方法就是这么写的
那hashCode方法也 不再考虑地址,而是考虑String对象的值。