我有一个类,它有三个整数来表示它:serverID、streamID 和 messageID。
我有一些HashSet
很小但我做了很多东西,比如设置交叉点,还有一些有 10K+ 元素的东西。
serverID 只有少数几个值,但它们是真正的随机数,具有完整的 32 位随机性。通常整个哈希表只有一个 serverID;其他时候只有几个 serverID。
streamID 是一个很小的数字,通常为 0,但有时可能为 1 或 2。
对于每个 serverID/streamID 对,messageID 依次增加。
我目前有:
(-messageID << 24) ^ messageID ^ serverID ^ streamID
我想了解我有一个很好的哈希函数,尽管有一个顺序增加的 messageID 并且没有很多其他的位可以混合。
什么是好的hashCode
,我怎样才能最好地混合这三个数字?