LearningNotes
LearningNotes copied to clipboard
改变集合中对象属性,依然可以remove掉
我demo试了一个,改变集合中对象的属性,然后再remove这个元素,是可以remove掉得啊,打印集合的size,减一了啊
我这边试的demo也是可以remove掉
我用的Eclipse也可以remove掉,求解答
重写了equals 和hashCode方法吗? hashset的内部实现用的是hashmap. hashmap判定是 通过 是否是同一个对象 && hashcode相等. 或者 equals方法相等.
这个Person类应该是重写了hashCode方法的,比如最简单的,
@Override hashCode() { return age; }
这样在p3修改了age之后对于hashset来说就变成另一个元素了,当然remove不掉,再添加时也会认为是另一个元素所以size会变成4
remove 对象的地址,