zoukankan      html  css  js  c++  java
  • 终于理解了比较equals为什么要重写hashcode

    打个比方,hashCode() 方法是好比是字典前面的目录,有了这个目录你查东西就会快的多,equals方法是比较的内容,就好比根据目录查内容。同一个的内容自然要有唯一的目录,所以hashCode和equals方法一般一起实现。比如Student类的equals方法根据name,school,age重写的,那么hashCode也要根据这三个属性去散列存储的地址。hash表的数据结构是链表的数组,即每个数组元素都是一个链表,链表中存的是hashCode值相等的元素,所以根据hashCode能快速的查找。Eclipse有自动生成的写法,你可以自己生成看看。但是hashCode的具体写法要依据情况去写,没固定写法。

  • 相关阅读:
    同名覆盖引发的问题
    矩阵快速幂模板题
    矩阵快速幂模板
    常见的代码错误情况
    十进制快速幂
    用唯一分解定理求m/n
    map用法
    游戏通关
    排序
    初识《设计模式》
  • 原文地址:https://www.cnblogs.com/mylife_001/p/3850426.html
Copyright © 2011-2022 走看看