其实就是hash冲突,废话不多说。我知道的大致有3种解决方式:
1.拉链法
应该是大家最熟悉的一种了吧,hashmap就是用这种方式解决的hash冲突。
每个哈希表节点都有一个next指针,多个哈希表节点可以用next指针构成一个单向链表,被分配到同一个索引上的多个节点可以用这个单向链表进行存储。
2.开放定址法
一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入
3.再哈希
又叫双哈希法,有多个不同的Hash函数.当发生冲突时,使用第二个,第三个….等哈希函数计算地址,直到无冲突