为什么要有hashCode
我们以“HashSet如何检查重复”为例来说明为什么要有hashCode:
当我们把对象加入到hashSet时,HashSet会先计算对象的hashCode值来判断对象加入的位置,同时也会与其他已经加入的对象的hashcode值进行比较,如果没有相符的hashcode,HashSet会假设对象没有重复出现。如果发现有相同的额hashcode值得对象时,这时就会调用equals()方法来检查hashcode相等得对象是否真的相同。如果两者相同,hashSet就不会让其加入到操作成功。如果不同得话,就重新散列到其他位置。这样我们就可以大大减少了equals得次数