1 месяц назад
Как устроена и работает HashMap в Java
HashMap — один из самых часто используемых классов в Java. Он позволяет хранить данные в формате ключ → значение и получать их очень быстро. Пример: map.put("имя", "Анна"); String name = map.get("имя"); // → "Анна" Но как это работает под капотом? В этой статье вы узнаете: HashMap<K, V> — это хэш-таблица, реализующая интерфейс Map. Она: HashMap состоит из: Каждый элемент — это объект Node<K,V>, содержащий: Шаг 1: Вычисление хэш-кода int hash = key.hashCode(); Хэш-код — это целое число, уникальное для объекта (но не всегда!) Шаг 2: Определение индекса в массиве int index = (array...
2 года назад
Java 876. Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false
Если в HashMap попытаться сохранить два элемента с одинаковым хеш-кодом, но для которых метод equals() вернет false, то оба элемента будут сохранены в разных ячейках массива. При добавлении элемента в HashMap он помещается в ячейку массива по соответствующему индексу, который вычисляется на основе хеш-кода ключа. Если ячейка уже занята другим элементом, то новый элемент будет добавлен в конец связного списка в этой ячейке. При поиске элемента по ключу происходит следующее: сначала определяется ячейка массива, в которой может быть сохранен элемент с заданным ключом...