Мы привыкли говорить, что операции HashMap
get/put
- это O (1). Однако это зависит от реализации хэша. Хэш-объект по умолчанию - это фактически внутренний адрес в куче JVM. Мы уверены, что достаточно хорошо утверждать, что get/put
являются O (1)?
Доступная память - еще одна проблема. Как я понимаю из javadocs, HashMap
load factor
должен быть 0,75. Что делать, если у нас недостаточно памяти в JVM, а load factor
превышает лимит?
Итак, похоже, что O (1) не гарантируется. Это имеет смысл или я что-то упускаю?