java 集合中hashcode与equals方法

hashset中不能存储两个一致的对象,hashset根据hashcode来存储和删除对象
 * 当对象的hashcode发生改变时无法删除hashset中的对象  
 * 因此对象添加到hash集合中后,就不能修改与hashcode相关的属性,防止hashcode
 * 改变后,无法从集合中删除对象  造成内存溢出
 * 当对象存储在hashset集合中时,按照hashcode取模后的值进去分区存储,
 * 当两个对象的hashcode取模后一致时,通过equals方法判断两个是否相等,
 * 相等则判断两个对象一致,hashset中已经存储一个对象,第二个对象不能存储
 * 当hashcode取模后不一致时,则无论equals方法是否相等,两个对象在hashset不一致
 * hashset中按照对象的hashcode取模后的值划分存储区间存储对象
 * 一个区间不能存储两个相等的对象(equals方法相等)

猜你喜欢

转载自blog.csdn.net/ld2007081055/article/details/40327075
今日推荐