概述
什么是散列表? 如果说起它的另一个名字, 你一定很熟悉, 它的英文叫"Hash Table", 哈希表, 很熟悉吧....而其中将key转换成数字的函数, 被称为散列函数, 或哈希函数.
为了方便大家看, 以下统一称为哈希, 知道这俩是一回事就行....上面说的这种查找方法叫线性探测法, 顾名思义, 就是一个一个往后找, 另外还有两种经典查找方法: 二次探测和双重散列....链表法
使用链表法来解决哈希冲突相对来说更为常见一些, Java中的HashMap就是这么处理的.
通过一张图来简单说明链表的处理方法:
当发生哈希冲突时, 将数据插入到对应的链表中....Java中的HashMap就是通过hashcode方法计算数组下标, 再通过equals方法判断两对象是否相等.