楼上的几位已经把hash集合的原理和使用方法讲述的很详细了,这里我补充一点自己觉得很重要的,
内存泄露:
一个对象被存储进HashSet集合以后,就不能修改这个对象中的那些参与计算哈希值的字段了, 否则对象修改后的哈希值与最初存储的进HashSet集合中的哈希值就不同了,所以查找的不再是同 一个区域,这种情况下,即使在contains方法下用该对象的引用作为参数去HashSet集合中检索对象, 也将返回找不到对象的结果,这也会导致无法从HashSet集合中无法单独删除当前对象,从而导致内存泄露 我想这应该是搞开发的时候加倍注意和避免的。 |