【发布时间】:2013-01-16 07:11:44
【问题描述】:
根据这些字符串的值一次性计算哈希码的最佳方法是什么?
我的意思是它必须是:
1 - 快速:我需要获取大量短字符串列表(10^3..10^8 项)的哈希码。
2 - 识别整个数据列表,这么多列表可能只有几个不同的字符串必须具有不同的哈希码
如何在 Java 中做到这一点?
也许有一种方法可以使用现有的字符串哈希码,但是如何合并为单独的字符串计算的许多哈希码?
谢谢。
【问题讨论】:
-
你想要哈希码做什么?您只想要一个哈希值,还是每个字符串一个哈希值?
-
你想要 hash code 值比如 java 已经有
hashCode()方法返回一个 int 的 String 还是你想要像 MD5 摘要这样的哈希值? -
为什么不使用内置的
hashCode()方法?List扩展AbstractList的实现确实从其元素的哈希码中计算其值。 -
哈希码必须是顺序敏感的吗?即
{"a", "b", "c"}的哈希码应该与{"a", "c", "b"}的哈希码相同还是不同? -
这个问题太模棱两可了......而且OP没有澄清它。是时候关闭它了...
标签: java string performance hash hashcode