Произойдёт ли обратная операция (дерево → список) при удалении элементов из HashMap?

Да, HashMap может преобразовать слишком маленький tree bin обратно в список. Однако правило не сводится к «после любого удаления осталось 6 элементов — всегда список»: путь удаления учитывает структуру дерева.

Короткий ответ

Что ответить на собеседовании

Да, HashMap может преобразовать слишком маленький tree bin обратно в список. Однако правило не сводится к «после любого удаления осталось 6 элементов — всегда список»: путь удаления учитывает структуру дерева.

Подробный разбор

Ответ с пояснениями

Да, HashMap может преобразовать слишком маленький tree bin обратно в список. Однако правило не сводится к «после любого удаления осталось 6 элементов — всегда список»: путь удаления учитывает структуру дерева.

В OpenJDK untreeify используется при удалении и при разделении корзины во время resize. Порог UNTREEIFY_THRESHOLD связан с определёнными путями перераспределения, а removeTreeNode проверяет также форму и условия изменения дерева. Это деталь реализации, не контракт Map. Для собеседования важно понимать цель: у маленькой корзины расходы дерева не оправданы.

Источник: github.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее