Вот моя ситуация. Я использую два java.util.HashMap для хранения некоторых часто используемых данных в веб-приложении Java, работающем на Tomcat. Я знаю точное количество записей в каждом Hashmap. Ключами будут строки и ints соответственно.
Мой вопрос в том, что лучший способ установить начальную емкость и loadfactor?
Должен ли я установить емкость, равную количеству элементов, которые она будет иметь, и нагрузке до 1,0? Я бы хотел получить абсолютную лучшую производительность, не используя слишком много памяти. Однако я боюсь, что таблица не будет оптимально заполняться. С таблицей нужного размера, не будет ли ключевое столкновение, вызвав (обычно короткое) сканирование, чтобы найти правильный элемент?
Предполагая (и это растягивание), что хеш-функция является простым модулем 5 целых ключей, не означает ли это, что клавиши 5, 10, 15 будут попадать в одно и то же ведро, а затем вызвать поиск для заполнения ковши рядом с ними? Будет ли более высокая первоначальная производительность увеличения производительности?
Кроме того, если есть лучшая структура данных, чем хэш-карта для этого, я также полностью открыт для этого.