集合如何知道输入的值是重复的?我知道 set 会忽略重复值,但它如何知道该值是重复的?
最佳答案
它首先搜索集合中输入的值。如果搜索返回集合中存在等于输入值的元素,则不会插入该元素。
此搜索的执行方式取决于Set
实现。简而言之,HashSet
将使用输入值的 hashCode()
方法在其底层数组中查找存储桶,然后输入值的 equals()
方法来检查驻留在该存储桶上的元素之间的相等性。对于 TreeSet
,使用 Comparator
。
简而言之,搜索Set
是否包含值的算法取决于其实现。
关于java - 识别集合中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662634/