【发布时间】:2017-10-08 16:23:23
【问题描述】:
当涉及到HashSet的方法add时,我遇到了一些问题。即使在阅读了它的源代码here 之后,我也不太明白发生了什么。
该方法究竟做了什么?就调用 hashCode 和 equals 而言,它采取的操作顺序是什么?
【问题讨论】:
当涉及到HashSet的方法add时,我遇到了一些问题。即使在阅读了它的源代码here 之后,我也不太明白发生了什么。
该方法究竟做了什么?就调用 hashCode 和 equals 而言,它采取的操作顺序是什么?
【问题讨论】:
HashSet 只是一个HashMap,其中的值是一个Object。
所以add 只是将元素添加到支持的哈希图中。将元素添加到 hashmap 意味着使用 hashCode 来确定应该放置它的位置。 equals 用于确定我们尝试添加的键是否已经存在,然后应该更新值
【讨论】:
Boolean 而不是 Object。为什么我会有这种印象??