A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bullfrog 中级黑马   /  2014-9-6 23:44  /  1213 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

往一个HashSet里装类P的对象p1,p2,p3。
类P覆写了hashCode和equals
hashCode的计算调用了成员变量x;
该x在构造函数中被初始化 this.x = x

然后又提供了一个修改x的方法 setX
----------------
将p1,p2,p3加入HashSet hashset里后,修改了p1.x的值
之后用hashset.remove(p1)是没办法从hashset里把p1删掉的,因为p1的hash值改变了,找不到p1。

那为什么Iterator还是正常工作呢?还是可以找到这个p1呢?



1 个回复

倒序浏览
楼主最好贴代码然后注释说明,没有看明白你的意思
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马