Смотрю картинку про хэш‑таблицу и вижу такое слово: buckets. Посоветуйте что это такое и для чего?
Бакетом (англ. bucket — ведро) называют набор элементов хеш‑таблицы с совпадающими/близкими значением хеш‑функции.
Хеш‑функция может принимать большой диапазон значений. Из-за технических ограничений (например, при необходимости экономии памяти) внутренний массив хеш‑таблицы может содержать меньшее количество элементов. Тогда элементы с близкими значениями хеша попадут в одну ячейку.
Ситуацию когда у двух элементов, добавленных в хеш‑таблицу совпадают значение хеша называют коллизией. При этом оба элемента попадают в одну ячейку (корзину/ведро) хеш‑таблицы. Большое число коллизий приводит к замедлению работы хеш‑таблицы.
См. Хеш‑таблица/Разрешение коллизий в Википедии
Картинка иллюстрирует конкретный алгоритм разрешения коллизий — открытую адресацию.
Все элементы хеш-таблицы распределяются по 255 ячейкам (число дано для примера, количество ячеек может быть произвольным). У «John Smith» и «Sandra Dee» хеш совпадает. Оба значения размещаются рядом в хеш‑таблице. При использовании этого алгоритма разрешения коллизий это влияет на следующий элемент «Ted Baker», который перемещается в следующую по порядку корзину несмотря на то что имеет уникальный хеш.
Надо сказать, что класс HashMap
в Java на данный момент использует другой тип разрешения коллизий, в котором каждый бакет представляет из себя дерево поиска, хотя это деталь реализации, не указанная в JavaDoc. Количество бакетов в HashMap
можно задать с помощью capacity и растет по мере необходимости.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
А где принято хранить настройки подключения к БД (путь, логин, пароль) в Java программах?
есть десктопное приложение для обработки метеорологических данныхВычисления достаточно трудоемкие, для получения результата к примеру...
Как отследить нажатия клавиш на Bluetooth наушниках (гарнитуре) типа: Плей/Пауза, [громкость -], [громкость +], и такой же вопрос касаемо обычных наушников,...
Такие вот делаРугается на последний кусок кода, запускающий игровой процесс