简介散列
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相同
以上是关于简介散列的主要内容,如果未能解决你的问题,请参考以下文章