Sobes.tech
Back to questions
Junior — Middle
52

Каким образом реализовано хранение нескольких элементов с null ключами в хэш-коллекциях?

Companies where asked
Right Line

Answer from AI

sobes.tech AI

В Java хэш-коллекции, такие как HashMap, позволяют хранить один элемент с ключом null. Это связано с тем, что null не имеет хэш-кода, и для него выделена отдельная логика.

Если попытаться добавить несколько элементов с ключом null, то в HashMap будет храниться только последний добавленный, так как ключи должны быть уникальными.

Пример:

Map<String, String> map = new HashMap<>();
map.put(null, "value1");
map.put(null, "value2");
System.out.println(map.get(null)); // Выведет "value2"

Таким образом, хранение нескольких элементов с null ключами в стандартных хэш-коллекциях невозможно, так как ключи должны быть уникальными. Если требуется хранить несколько значений с ключом null, можно использовать коллекции, где ключом выступает не null, а, например, специальный объект-обертка, или использовать структуру данных, позволяющую хранить несколько значений для одного ключа (например, Map<K, List<V>>).