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