- 写在前面:记录学习《恋上数据结构与算法》的过程。
- 课程链接地址:https://ke.qq.com/course/385223
目录
目录
需求 - 引入哈希表(空间换时间)
哈希表(Hash Table)
哈希冲突(Hash Collision)
JDK1.8哈希冲突解决方案
哈希函数
- 与出来的结果,必然小于2的幂(也就是数组的长度)
- 不管与之前的数有多大,与运算后的值必然小于2的幂(也就是数组的长度)
如何生成key的哈希值
Long和Double的哈希值
- Java中哈希值必须是 int 类型
字符串哈希值
- JDK提供的hashcode
JDK提供的hashcode
- Integer提供的hashcode
- Float提供的hashcode
- Long提供的hashcode
- Double提供的hashcode
- 测试
自定义对象哈希值
- 案例演示
- 默认hashcode,跟内存地址有关
- 自己提供hashcode
- 测试