hash表拉链法解决冲突

https://blog.****.net/lcalqf/article/details/60775221

拉链法

Java 标准库的 HashMap 基本上就是用 拉链法 实现的。 拉链法 的实现比较简单,将链表和数组相结合。也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。

hash表拉链法解决冲突
image

实现步骤

  • 得到一个 key
  • 计算 keyhashValue
  • 根据 hashValue 值定位到 data[hashValue] 。( data[hashValue] 是一条链表)
  • data[hashValue] 为空则直接插入
  • 不然则添加到链表末尾