Java最快的哈希函数

Arp*_*sss 3 java hash hash-function

我有一个长度为128个字符的布尔字符串(如"01100..001")(表示128个数字为0/1).我在Java中搜索一个高效(快速)的哈希函数,它产生的表示比128位低得多,而且碰撞明显减少.任何人都可以帮助我,有没有这样的哈希函数?有什么建议吗?

Mat*_*der 7

你有没有考虑过使用它java.util.BitSet,取决于你正在做什么,它可以更轻松,更有效?http://docs.oracle.com/javase/6/docs/api/java/util/BitSet.html 它也有一个.hashCode()方法.


das*_*h1e 5

尝试.hashCode()在Java String类上使用该方法,它返回一个int并且它非常快.

或者您可以像Pulsar建议的那样使用该.hashCode()方法java.util.BitSet,如果您更喜欢存储您的数据BitSet.

  • 按照 @Pulsar 的答案使用 BitSet 的 hashCode() 可能会更好。 (2认同)