哈希算法是将一个集合分成若干个存储区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每个组分别对应某个存储区域,根据一个对象的哈希码就可以确定该对象对应存储在那个区域。Object类中定义了一个hashcode()方法来返回每个Java对象的哈希码。方便在HashSet集合中快速查找某一个对象。
注意:
(1)要想hashcode()方法生效,对象必须存储在哈希集合中,才有价值。
(2)当一个对象被存储进HashSet集合中以后,就不能修改这个对象中的那些参与计算哈希值的字段了,否则,对象修改后的哈希值与最初存储进hashset集合中时的哈希值就不同了,这种情况下,即使在contains方法使用该对象的当前引用作为的参数去HashSet集合中检索对象,也将返回找不到对象的结果。
|
|