Core - 2

Сколько создается новых объектов, когда добавляете новый элемент в HashMap?


При добавлении нового элемента в `HashMap` создается обычно один новый объект - объект класса `Entry` или его подкласса, который представляет пару ключ-значение. Этот объект создается для хранения элемента внутри `HashMap` . `Entry` содержит поля для хранения ключа, значения и ссылки на другой элемент `Entry` , чтобы обеспечить связанный список элементов с одинаковыми хэш-кодами внутри "корзины" ( `bucket` ). Если в `HashMap` возникают коллизии хэш-кодов, то создаются дополнительные объекты `Entry` для представления элементов внутри одной "корзины". Кроме того, при создании `HashMap` также создается массив объектов `Entry[]` , который представляет собой основную структуру данных для хранения элементов `HashMap` . Размер этого массива зависит от начальной емкости ( `initial capacity` ) `HashMap` . Таким образом, при добавлении нового элемента в `HashMap` создается обычно один новый объект `Entry` или его подкласса, а также массив объектов `Entry[]` . Количество создаваемых объектов зависит от количества элементов в `HashMap` и наличия коллизий хэш-кодов.


Копировать ссылку