Collection li = new HashSet();
ReflectPoint rp1 = new ReflectPoint(3,3);
ReflectPoint rp2 = new ReflectPoint(5,5);
ReflectPoint rp3 = new ReflectPoint(3,3);
li.add(rp1);
li.add(rp2);
li.add(rp3);
li.add(rp1);
rp1.y = 8;
li.remove(rp1);
System.out.println(li.size());
HashSeyt集合中存在 内存泄露问题。
原因:更改元素的值时 元素相对应的哈希值也会改变,导致删除时找不到元素。 |