Java中hashcode的计算方式
String计算hashCode的方式
/**
* hashcode的计算方式为,以31为权重,举例“java”字符串的计算
* j 的 ASCII码 为 106
* a 的 ASCII码 为 97
* v 的 ASCII码 为 118
* 字符串 va 的 hashcode为 118 * 31 + 97
* 字符串 java 的 hashcode为 106 * 31 * 31 * 31 + 97 * 31 * 31 + 118 * 31 + 97
*/
System.out.println(Integer.valueOf('j')); //ASCII码:106
System.out.println(Integer.valueOf('a')); //ASCII码:97
System.out.println(Integer.valueOf('v')); //ASCII码:118
System.out.println(Integer.valueOf('a')); //ASCII码:97
int hashcode = 106 * 31 * 31 * 31 + 97 * 31 * 31 + 118 * 31 + 97;
System.out.println("hashCode计算的值:" + hashcode); //3254818