gpt4 book ai didi

java - 是否可以使用hashCode作为内容唯一ID?

转载 作者:行者123 更新时间:2023-12-02 08:49:46 33 4
gpt4 key购买 nike

我需要比较两个大字符串。除了使用这样的 equals 方法之外,是否有一种类似 hashCode 或其他方法可以为 String 生成唯一 id 的方法?那是因为我的字符串非常大。另外,我需要独特的内容唯一 ID。可以使用 hashCode出于我的目的,在字符串中。

最佳答案

hashCode 的目的是提供一种快速方法来识别大多数两个对象比较不相等的情况。在大多数情况下,具有 1% 误报率的哈希函数被认为优于具有 0% 误报率的哈希函数,但所需时间是其两倍。

有一些哈希函数被设计用作“摘要”,因此任意长度的两个不同字符串非常不太可能具有相同的摘要。然而,为了非常有效,摘要需要比 32 位哈希码值大得多。精心设计的 64 字节(512 位)摘要通常足以很好地保护任何长度的字符串,以至于在同一个周末,当一个人赢得五张州彩票时,他更有可能被闪电击中两次,而不是找到两张产生相同摘要的不同字符串。为字符串计算一个好的摘要函数的成本将远远大于将该字符串与另一个字符串进行比较的成本,但如果每个字符串将与许多其他字符串进行比较,则计算每个摘要函数一次并将其与每个字符串的摘要进行比较其他字符串可能会带来重大的性能提升。

关于java - 是否可以使用hashCode作为内容唯一ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60856505/

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