Встречается на 3% собеседований по Java
Что такое Bucket в HashMap
В Java HashMap использует массив Node<K,V>[] (или Entry<K,V>[] в старых версиях), где каждый элемент массива называется bucket.
- Bucket – это "ячейка" в массиве, которая может содержать одну или несколько
Node(при коллизиях). - При добавлении элемента
HashMapвычисляет индекс bucket'а черезhashCode()ключа и длину массива:javaint index = (n - 1) & hash(key); // n = длина массива - Если в bucket'е уже есть элементы (коллизия), новые элементы добавляются в виде связанного списка (до Java 8) или преобразуются в дерево (если размер > 8).
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("a", 1); // Добавляется в bucket с индексом, вычисленным из hash("a")
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы