首页 > 学院 > 开发设计 > 正文

Java中String的哈希值计算

2019-11-14 14:52:40
字体:
来源:转载
供稿:网友

下面都是从String类的源码中粘贴出来的

 1 PRivate int hash; // Default to 0 2 public int hashCode() { 3         int h = hash; 4         if (h == 0 && value.length > 0) { 5             char val[] = value; 6             for (int i = 0; i < value.length; i++) { 7                 h = 31 * h + val[i]; 8             } 9             hash = h;10         }11         return h;12 }

下面利用上述方法计算字符串”Lee”的哈希值

‘L’的ASCII码为76’e’的ASCII码为101

for循环3

  1. h=31*0+76=76
  2. h=31*76+101=2457
  3. h=31*2457+101=76268

所以字符串”Lee”的哈希码就是76268


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表