首页 > 其他 > 详细

【简介】散列

时间:2018-08-04 11:15:45      阅读:118      评论:0      收藏:0      [点我收藏+]

在计算机中查找一种元素有两种方法

  1.直接根据地址查找

    不一定每次都给与直接的地址值,有时候存在无法比较无法排序的关键字

  2.散列函数

    关键词 → 散列函数:散列表的索引 → 散列表的值

    将任意长度的消息压缩到某一固定长度的消息摘要

1.为什么重新equal方法,一定要重写hashCode方法

  比较元素有许多方法

    1.比较地址:使用"=="

    2.Comparable接口 - 自实现compareTo方法

    3.Comparator接口 - 自定义比较器 - 自定义compare方法

    4.Object.equal方法 - 默认比较地址:"=="

    地址不同:hashcode不同

    地址不同,逻辑相同(重写了equal):需要重写返回相同哈希码的哈希函数

    地址相同,逻辑不同(重写了equal):需要重写返回不同哈希码的哈希函数

  Object.hashCode方法默认返回地址的整数哈希值

  注意:String具有特殊性,重写了equals方法

    1.相同字符序列的字符串共享内存:hashcode相同

    2.使用new会开辟新内存:hashcode不同;但此时如果equals方法认定相同:hashcode相同

【简介】散列

原文:https://www.cnblogs.com/ChrismasIn2015/p/9417200.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!