(面试题)hashCode和equals方法

122 阅读1分钟

解释

  • hashCode方法如果不重写的话,默认根据对象地址返回一个int类型的hash码,我们一般重写根据对象的属性返回hash码
  • equals方法如果不重写的话,默认根据对象在堆中的地址进行比较,我们一般重写根据对象的属性判断这两个对象是否相等

用途

  • hashCode和equals最大的用途就是hashmap。

在hashmap的put方法源码中,会根据key的hashCode计算出这个键值对应该放到哪个桶中,然后用equals方法比较这个桶中有没有相同key的元素,如果有就替换value。如果比较到链表尾部都没有,就将该元素插入到链表尾部