Встречается на 2% собеседований по Java
Какая сложность операций в Hashtable
Операции put(), get(), remove() в Hashtable имеют среднюю сложность O(1) (амортизированное время). В худшем случае (при коллизиях) сложность может деградировать до O(n) из-за цепочек в корзинах (реализация через LinkedList или TreeNode в Java 8+).
Пример:
java
Hashtable<String, Integer> table = new Hashtable<>();
table.put("key", 42); // O(1) в среднем
int value = table.get("key"); // O(1) в среднем
table.remove("key"); // O(1) в среднемНюансы:
- Синхронизированность
Hashtableдобавляет накладные расходы. - При плохой хеш-функции (
hashCode()) коллизии учащаются, ухудшая производительность. - В Java 8 при большом количестве коллизий корзины переходят с
LinkedListнаTreeNode, улучшая худший случай до O(log n).
Для несинхронизированных сценариев лучше использовать HashMap.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы