Ответ
Да, в Java HashMap может содержать null как в качестве ключа, так и в качестве значения. Однако, если использовать null в качестве ключа, он будет храниться в бакете с индексом 0.
Пример:
HashMap<String, Integer> map = new HashMap<>();
map.put(null, 42); // null как ключ
map.put("key", null); // null как значение
System.out.println(map.get(null)); // 42
System.out.println(map.get("key")); // null
Важно: если использовать ConcurrentHashMap, null не допускается ни для ключей, ни для значений (выбросит NullPointerException).