http://www.cnblogs.com/dolphin0520/p/3681042.html
hashCode
public int hashCode()
-
Returns a hash code for this string. The hash code for a
String
object is computed ass[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
-
//根据name、pass来计算hashCode值
-
public int hashCode()
-
{
return name.hashCode()
+ pass.hashCode() * 17;
}
重写hashCode()函数获得一个散列值。该散列值的作用:
1、在向集合中插入新的对象时用于判断该对象是否已经存在。如果生成的散列值不在集合中,则该对象一定不存在。反之不成立。
2、hashCode()方法通常和equal()方法同时出现用于与新元素比较。equal()方法的返回值为true时元素一定相同。先使用hashCode生成散列值判断散列值是否在集合中,散列值不在hashMap中则可直接把该元素添加至集合;存在则要用equal()判断元素是否相同(做最终裁决)。hashCode方法提高了效率。
3、对于包含容器类型的程序设计语言来说,基本上都会涉及到hashCode。在Java中也一样,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。