Можно ли использовать null в качестве ключа в HashMap в языке Java?

В Java класс HashMap позволяет использовать null в качестве ключа. В частности, HashMap допускает ровно один ключ со значением null.

Короткий ответ

Что ответить на собеседовании

В Java класс HashMap позволяет использовать null в качестве ключа. В частности, HashMap допускает ровно один ключ со значением null.

Подробный разбор

Ответ с пояснениями

В Java класс HashMap позволяет использовать null в качестве ключа. В частности, HashMap допускает ровно один ключ со значением null.

Это возможно, потому что при вычислении хэш-кода для ключа null используется специальная обработка — вместо вызова hashCode() возвращается 0.

Пример:

import java.util.HashMap;

public class Example {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put(null, "value for null key");
        System.out.println(map.get(null)); // Выведет: value for null key
    }
}

Однако стоит помнить, что другие реализации Map, например Hashtable, не допускают null в качестве ключа или значения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее