算法:s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1]
s[i]表示字符串的第i个字符,n表示字符串的长度,^表示取幂。
返回字符串的hashCode,int类型。 方法中hash初始值为0,value为输入的字符串转化为charArray。
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}
思考:
Java中HashCode的作用。