我正在尝试改进哈希表实现。这个哈希表创建了一个自定义哈希,然后执行典型的例程,将它扔进桶中并试图找到一个地方来推它等。
在我的特定情况下,我有两个数字,每个数字介于-16000和16000之间,然后是一个跨越0到256的数字。
实际上我有2个短路和1个字节的额外数据。我正在尝试为这些数据集制作一个好的哈希算法。我希望有一个平面地图不会动态增长并咀嚼更多内存,但在这种情况下,这组数据太大了。
任何建议都会受到赞赏,我目前在这个领域并不是很有经验。
编辑:这是应用程序用于当前生成它的唯一哈希值:
public static int a(int i, int j, int k) {
return j & 255 | (i & 32767) << 8 | (k & 32767) << 24 | (i < 0 ? Integer.MIN_VALUE : 0) | (k < 0 ? '\u8000' : 0)
}
请注意,我没有写这个。我正在研究如何改进它。