我应该使用哪种数据结构来最好地实现这一目标?由于我将更改set
Student中Student对象的属性(从而更改哈希码),因此我应该改用ArrayList吗?
如果set元素的哈希码易于更改,则您不应使用
HashSet。(如果这样做,数据结构将中断,并且集合中的元素可能会丢失。)
但是我怀疑您应该使用
ArrayList其中一种,因为如果
hashpre()对对象的更改敏感,那么
equals(Object)很可能也是。这意味着
contains(...)类似的方法将无法找到对象。
我认为您应该使用一种
Map类型,并使用“学生标识符”作为键。
(您也可以重写
hashpre,
equals以便相等意味着两个对象具有相同的ID。但这
equals(Object)对于其他目的毫无用处。)



