Wie teste ich eine Hash-Funktion?
Gibt es eine Möglichkeit, die Qualität einer Hash-Funktion zu testen? Ich möchte einen guten Spread haben, wenn ich ihn in der Hash-Tabelle verwende, und es wäre großartig, wenn dies in einem Unit-Test überprüft werden könnte.
BEARBEITE: Zur Verdeutlichung war mein Problem, dass ich @ verwendet halong
-Werte in Java so, dass das erste 32-Bit eine ID und das zweite 32-Bit eine andere ID codiert. Leider ist Javas Hash mit langen Werten nur eine XOR-Verknüpfung zwischen den ersten 32 Bit und den zweiten 32 Bit, was in meinem Fall zu einer sehr schlechten Leistung bei der Verwendung in einem @ führtHashMap
. Ich brauche also einen anderen Hash und hätte gerne einen Unit Test, damit sich dieses Problem nicht mehr einschleichen kann.