Java学习记录8 容器

2020-12-30 05:27

阅读:435

  1. 一种极端简单和低下的算法:hash值 = hashcode/hashcode 。hash值总是1。意味着,键值对象都会存储到数组索引1位置,这样就形成一个非常长的链表。相当于每存储一个对象都会发生“hash冲突”,HashMap也退化成了一个链表。

  2. 一种简单和常用的算法(相除取余算法):hash值 = hashcode%数组长度,可以让hash值均匀分布在0-1之间,早期的HashTable就是采用这种算法。

  3. 改进算法:hash值 = hashcode&(数组长度-1)


评论


亲,登录后才可以留言!