String 和 Hashcode 需要解释
String and Hashcode need explanation
我这里有问题。我应该解释为什么我的字符串 "ab" returns 3105 当我在它上面使用 hashCode()
.
我的主要问题是我不明白 s[0] 有哪个值。
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
谁能解释一下?
谢谢
假设你有一个字符串s = "ab"
。
s[0]
是第一个字母
s
,意思是"a"
等等。
对于长度为 n 的字符串,最后一个索引将为 n-1。即
s
的长度是2,s
的最后一个字母是s[1]
也就是"b"
.
- ABC 中的每个字母.. 都有一个数字 ascii 值,您可以在 ascii table.
中看到
字符串 "ab"
的哈希码是
'a'*31^1+'b'*31^0 = 'a'*31+'b'*1 = 97*31+98*1 = 3105
我这里有问题。我应该解释为什么我的字符串 "ab" returns 3105 当我在它上面使用 hashCode()
.
我的主要问题是我不明白 s[0] 有哪个值。
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
谁能解释一下? 谢谢
假设你有一个字符串s = "ab"
。
s[0]
是第一个字母s
,意思是"a"
等等。
对于长度为 n 的字符串,最后一个索引将为 n-1。即s
的长度是2,s
的最后一个字母是s[1]
也就是"b"
.- ABC 中的每个字母.. 都有一个数字 ascii 值,您可以在 ascii table. 中看到
字符串 "ab"
的哈希码是
'a'*31^1+'b'*31^0 = 'a'*31+'b'*1 = 97*31+98*1 = 3105