码迷,mamicode.com
首页 > 其他好文 > 详细

【简介】散列

时间:2018-08-04 11:38:17      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:code   shc   根据地   注意   关键字   ==   字符串   tor   散列表   

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

  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相同

【简介】散列

标签:code   shc   根据地   注意   关键字   ==   字符串   tor   散列表   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!