来源JDK源码,产生的数字分布很均匀
用法代码如下。
# -*- coding: utf-8 -*- HASH_INCREMENT = 0x61c88647 def magic_hash(n): for i in range(n): nextHashCode = i * HASH_INCREMENT + HASH_INCREMENT print nextHashCode & (n-1) magic_hash(16)