Я раньше ничего не делал с хэш-кодами и подумал, что это будет достойной практикой. Насколько я понимаю, каждый кубик, равный с помощью методаquals(), должен иметь один и тот же хеш-код, а хеш-коды должны быть «равномерно распределены». Я нашел следующий способ вычисления хэш-кодов.
Код: Выделить всё
@Override
public int hashCode(){
return Objects.hash(numSides, numDice);
}
// algo from https://stackoverflow.com/a/18066516/23651145
Я ищу оптимальную и равномерно распределенную функцию.
Должен ли я учитывать соответствующие диапазоны при создании формулы хэш-кода? Имеет ли значение порядок переменных? Как мне проверить, насколько хороша данная формула хэш-кода?
Подробнее здесь: https://stackoverflow.com/questions/791 ... les-ranges