Guava Sets intersection(HashSet1,HashSet2)按哈希值或值进行比较?

时间:2017-12-04 07:55:25

标签: guava hashset

当使用Guava Sets来提出两个HashSet的交集时,它如何确定两个元素是否相同?按他们的价值还是哈希?

==更新==

查看java.util.HashSet的源代码,我发现contains()实际上会调用containsKey()进行比较:

HashSet.contains

1 个答案:

答案 0 :(得分:1)

哈希永远不会用于确定平等。那不是他们的目标。他们在基于散列的集合中的目标是减少可能相等的候选人的数量。

intersection()返回两个集合的视图,因此它将相等测试完全委托给underlyong两个集合。