Две реализации NavigableMap
(которые позволяют извлекать подкарты или подмножества на основе ключевых диапазонов): TreeMap
и ConcurrentSkipListMap
, обе из которых предлагают время доступа O (log n).
Предполагая, что вам требуется O (1) время доступа в соответствии с обычным HashMap
, я предлагаю реализовать ваши собственные (неэффективные) методы "диапазона ключей".Другими словами, пожертвуйте производительностью операции с диапазоном клавиш для улучшенного времени доступа, которое вы достигнете с обычной HashMap
.На самом деле другого пути для этого нет: NavigableMap
методы по своей природе зависят от данных, хранящихся в отсортированном виде, что означает, что вы никогда не сможете достичь O (1) времени доступа.