Scala中字符串的64位(长)哈希
我需要一个生成long的统一字符串散列,用于bloom过滤器。我在哪里可以找到这方面的算法或库?谢谢。您可以做Scala中字符串的64位(长)哈希,scala,hash,string-hashing,Scala,Hash,String Hashing,我需要一个生成long的统一字符串散列,用于bloom过滤器。我在哪里可以找到这方面的算法或库?谢谢。您可以做String.hashCode所做的事情,只需使用long: val code = string.foldLeft(0L) { case (code, c) => 31*code + c } 我不太熟悉散列,这能确保在整个长值范围内均匀分布吗?我不明白为什么不能,除非字符串非常短(比如短于10个字符)。。。在这种情况下,直接存储它们而不是散列可能是有意义的。
String.hashCode
所做的事情,只需使用long:
val code = string.foldLeft(0L) { case (code, c) => 31*code + c }
我不太熟悉散列,这能确保在整个长值范围内均匀分布吗?我不明白为什么不能,除非字符串非常短(比如短于10个字符)。。。在这种情况下,直接存储它们而不是散列可能是有意义的。