发布时间:2025-07-08 17:14:19 点击量:
HASH GAME - Online Skill Game GET 300
* 1)计算 hash 值,依据 hash 值得出索引值,采纳的是以后 table 长度 -1 & hash 值相与得出索引值(hash 值是通过下面的 hash 办法计算得出,而不是调用 hashCode 办法)举个例子:存入两个 key 的 hash 值别离为 14 和 35,而以后 table 的长度为默认容量 16(2^n) 那么第一个 key 对应的索引值为:0000 1110 & 0000 1111,得出索引值为 14 第二个 key 对应的索引值为:0010 0011 & 0000 1111,得出索引值为 3 这样做能确保每个不管 hash 值有多大,都可能存入数组,截取的是 hash 值的二进制数的后 n 位 * 2)依据 hash 找到对应的索引值,有三种状况:* 以后地位为空,间接存入 * 以后地位不为空,且是链表,插入到链表的尾部 * 以后地位为空,且是红黑树,插入到红黑树当中 * 3)判断以后 table 的理论长度 size 是否超出阈值 threshold,如果超出则进行扩容