Использование хеш-кода для уникального идентификатора

Я работаю в системе на основе Java, где мне нужно установить идентификатор для определенных элементов на визуальном дисплее. Одной из категорий элементов являются строки, поэтому я решил использовать метод String.hashCode (), чтобы получить уникальный идентификатор для этих элементов.

Однако проблема, с которой я столкнулся, заключается в том, что система, в которой я работаю, работает, если идентификатор отрицательный иString.hashCode часто возвращает отрицательные значения. Одним из быстрых решений является использование Math.abs () для вызова хеш-кода, чтобы гарантировать положительный результат. Что меня удивило в этом подходе, так это каковы шансы двух разных элементов с одинаковым хеш-кодом?

Например, если одна строка возвращает хэш-код -10, а другая строка возвращает хэш-код 10, произойдет ошибка. В моей системе мы говорим о коллекциях объектов, размер которых обычно не превышает 30 элементов, поэтому я не думаю, что это действительно проблема, но мне любопытно, что говорит математика.

Ответы на вопрос(4)

Ваш ответ на вопрос