参考
- 几种经典的hash算法。Java版的各种hash算法实现。
算法
乘法hash。jdk5.0里面的String类的hashCode()方法也使用乘法Hash,它使用的乘数是31。推荐的乘数还有:131, 1313, 13131, 131313等等。
static int bernstein(String key)
{
int seed = 131;//31, 131, 1313, 13131, 131313
int hash = 0;
博客探讨了如何使用乘法Hash算法将ID字符串转换为整数,以应对不断产生的新ID,同时提到ID转换后可能存在的hash冲突问题及其影响。
乘法hash。jdk5.0里面的String类的hashCode()方法也使用乘法Hash,它使用的乘数是31。推荐的乘数还有:131, 1313, 13131, 131313等等。
static int bernstein(String key)
{
int seed = 131;//31, 131, 1313, 13131, 131313
int hash = 0;
769