社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
延伸阅读:immutable class 待解读
String hash 算法:
s[0]31^(n-1) + s[1]31^(n-2) + ... + s[n-1]
for (int i = 0; i < value.length; i++) { h = 31 * h + val[i]; }
31 是一个神奇的数字,貌似是冲突比较少,比较平均的经验值。
戳这里也有一个例子
两种:Separate chaining(同hash 加链表) |Open addressing(同hash 存下一地址)
区别:冲突时是否将数据存在同一 bucket。
待续
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!