gpt4 book ai didi

Java - 通过哈希比较两个集合的最佳方法(通过==)

转载 作者:行者123 更新时间:2023-11-29 03:00:17 25 4
gpt4 key购买 nike

我有两组字符串。字符串是相同的(== 返回 true)。我相信通过 == 进行比较应该比通过 equals()hashCode() 进行比较更快。那么如何在不使用 equals() 的情况下确保它们相同呢?谢谢

最佳答案

由于两个 Set 不是同一个实例,您不能使用 == 来比较 Set

现在,如果您使用 Setequals,它(“它”是指 AbstractSet 的默认实现)将验证两个 Set 具有相同的大小,然后迭代一个 Set 的元素并检查另一个 Set 是否包含它们中的每一个。

例如,如果您正在使用 HashSet,为了查找 String 是否包含在某些 HashSet 中,hashCode() 将不得不用于查找可能包含搜索到的 String 的桶,但稍后 Stringequals() 将被调用以验证是否存在等于搜索到的 StringStringStringequals() 实际上开始于

    if (this == anObject) {
return true;
}

因此,您的两个 Set 可能包含对相同 String 实例的引用这一事实将有助于改善 Set 的运行时间比较。

关于Java - 通过哈希比较两个集合的最佳方法(通过==),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35462593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com