Может ли быть несколько элементов в одной ячейке в HashMap

«Может ли быть несколько элементов в одной ячейке в HashMap» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, в одной ячейке HashMap не может быть нескольких элементов с одинаковым ключом. Однако, если происходит коллизия (разные ключи имеют одинаковый хэш), в одной ячейке может храниться связанный список (или дерево в Java 8+) элементов. Это реализовано через цепочки (chaining).

Пример коллизии:

HashMap<String, Integer> map = new HashMap<>();
map.put("Aa", 1);  // хэш 2112
map.put("BB", 2);  // хэш тоже 2112
// Оба элемента окажутся в одной ячейке, но с разными ключами

При поиске сначала находится ячейка по хэшу, затем проверяется равенство ключей через equals(). Если ключи разные (даже при одинаковом хэше) - это разные элементы.