标签: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