Если в HashMap попытаться сохранить два элемента с одинаковым хеш-кодом, но для которых метод equals() вернет false, то оба элемента будут сохранены в разных ячейках массива. При добавлении элемента в HashMap он помещается в ячейку массива по соответствующему индексу, который вычисляется на основе хеш-кода ключа. Если ячейка уже занята другим элементом, то новый элемент будет добавлен в конец связного списка в этой ячейке. При поиске элемента по ключу происходит следующее: сначала определяется ячейка массива, в которой может быть сохранен элемент с заданным ключом...
Метод put в HashMap производит добавление нового элемента в коллекцию. Он работает следующим образом: Теперь к вопросу о позиции бакета. Определение позиции бакета позволяет быстро находить нужный бакет и получать доступ к элементам, хранящимся в нем. Если бы мы использовали список для хранения всех элементов HashMap, то при поиске элемента нам пришлось бы просматривать все элементы в списке, что занимало бы много времени. Использование хэш-кода и позиции бакета обеспечивает быстрый поиск элементов в HashMap, что является преимуществом такой операции...