简介散列

Posted chrismasin2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简介散列相关的知识,希望对你有一定的参考价值。

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

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

以上是关于简介散列的主要内容,如果未能解决你的问题,请参考以下文章

MessageDigest简介

MessageDigest简介

散列表简介

HashMap简介以及hashCode写法的建议

Wazuh简介

redis简介