Java中为什么前几个加入HashSet中的元素会不见
时间: 2023-12-06 19:42:59 浏览: 71
Java中的HashSet是一种基于散列表实现的无序集合,当我们向HashSet中添加元素时,HashSet会根据元素的哈希值将元素存储在散列表中。如果多个元素的哈希值相同,那么它们就会被放在同一个链表中。
当我们向HashSet中添加元素时,如果新元素的哈希值和已有元素的哈希值相同,那么新元素就会覆盖已有元素。因此,如果我们将多个元素的哈希值设置为相同的值,那么只会保留最后一个添加的元素,前面添加的元素会被覆盖掉,从而导致前几个加入HashSet中的元素会不见。
为了避免这种情况,我们可以在实现自定义类时,重写equals方法和hashCode方法,保证每个元素的哈希值都不同,从而能够正确地使用HashSet。
阅读全文