首页 > 代码库 > HashSet内对象无法remove.

HashSet内对象无法remove.

1.HashSet内的对象无法remove:

在Java中HashSet的底层的实现是通过Map来实现,将要保存的对象的hashcode值作为Key,使用一个dummy作为Value.在对象被放入Set之后,如果有操作改变影响该对象的hashcode的变量,会造成该对象无法被remove,因为remove时是通过hashcode来查找Set内的对象,由于hashcode的变化造成,该对象无法被remove,只能通过clear方法移出Set.


本文出自 “边走边思索” 博客,谢绝转载!