之前在java中一直用hashcode,到了VB.net中却找不到类似的用法了,只好自己实现一下了,下面就是使用VB.net编写的hashcode方法:
Private Function hashcode(ByVal str As String)
Dim chars() As Char = str.ToCharArray
Dim n As Long = chars.Length
Dim result As Long = 0
Dim i As Long = 0
For i = 0 To n - 1 Step 1
result += (31 ^ (n - 1 - i)) * AscW(chars(i))
Next
hashcode = result
End Function
后边附上网上找到java的hashcode方法:
public int hashcode(String str){
char[] chars;
chars = str.toCharArray();
int n = chars.length;
int result=0;
for (int i = 0;i
{
result+=java.lang.Math.pow(31,n-1-i)*chars[i];
//String的hashcode算法
// API中String的hashCode()方法返回:s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
}
return result;
}