鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站制作教程 > JSP > >

Java中String的哈希值计算

来源:互联网 作者:佚名 时间:2016-06-19 09:56
下面都是从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 }

下面都是从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


网友评论
<