Я столкнулся с проблемой, когда у меня есть миллионы пар ключ-значение, к которым мне нужно получить доступ, используя ключи случайным образом (не с помощью итератора).
Диапазон ключей неизвестен во время компиляции, но известно общее количество пар ключ-значение.
Я просмотрел структуры данных HashMap и Hashset, но они на самом деле не O(1), так как в случае коллизии в хэш-коде они стать массивом LinkedLists, который в худшем случае имеет линейную сложность поиска.
Я также рассматривал возможность увеличения количества сегментов в HashMap, но это не гарантирует, что каждый элемент будет храниться в отдельном сегменте.
Есть ли способ хранить и получать доступ к миллионам пар ключ-значение со сложностью O(1)?
В идеале я хотел бы, чтобы каждый ключ был похож на переменную, и соответствующее значение должно быть значением, присвоенным этому ключу.
Заранее спасибо.
java.util.LinkedList
, но это мало что говорит. - person   schedule 13.02.2014