[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-kak-realizovana-hashmap-na-osnove-otkrytoy-adresatsii-ili-metoda-tsepochek":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},475,"kak-realizovana-hashmap-na-osnove-otkrytoy-adresatsii-ili-metoda-tsepochek",12,"collections","Collections","📚","Как реализована HashMap — на основе открытой адресации или метода цепочек","`HashMap` реализован на основе метода цепочек (chaining). Каждой корзине (ячейке массива) соответствует связный список (или красно-черное дерево при большом количестве коллизий), в который добавляются элементы с одинаковым индексом корзины.\n\n| Характеристика | Метод цепочек (HashMap) | Открытая адресация |\n|---|---|---|\n| Load factor | Может быть > 1 | Должен быть \u003C 1 |\n| Деградация | Линейная | Резкая при заполнении |\n| Удаление элементов | Простое | Сложное (tombstones) |\n| Потребление памяти | Доп. объекты Node | Только массив |\n| Сериализация | Сложнее | Проще |\n| Пример в JDK | HashMap | IdentityHashMap |\n\nМетод цепочек выбран потому, что он гибче: load factor может превышать 1, производительность деградирует плавно, удаление элементов тривиально. Открытая адресация используется в `IdentityHashMap` (линейное пробирование), где она оправдана простотой реализации и отсутствием необходимости создавать Node-объекты.\n\n> **На собеседовании:** назовите метод цепочек и объясните, почему. Сравните с открытой адресацией: плюсы (гибкость, простое удаление) и минусы (накладные расходы на Node).","","middle",[15,16],"основы","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":34,"featuredSnippetReady":35},"HashMap — метод цепочек vs открытая адресация — Gymterview","HashMap — метод цепочек (chaining): каждая корзина — связный список\u002Fдерево. Открытая адресация — IdentityHashMap. Сравнение плюсов и минусов обоих подходов.","HashMap: метод цепочек — Gymterview","HashMap — chaining: load factor > 1, простое удаление. IdentityHashMap — открытая адресация.",[25,26,27,28,29,30,31,32,33],"HashMap","chaining","метод цепочек","открытая адресация","линейное пробирование","IdentityHashMap","хэш-таблица","Java","собеседование","HashMap — метод цепочек (chaining): каждой корзине соответствует список\u002Fдерево. Выбрано потому что: load factor может быть > 1, деградация линейная, удаление простое. Открытая адресация используется в IdentityHashMap (линейное пробирование).",true]