Да, примитивный тип данных может использоваться как ключ в HashMap.
При этом происходит автоматическое преобразование примитивного типа в его соответствующий тип обертку (autoboxing). Например, int преобразуется в Integer, long в Long и так далее.
HashMap использует методы hashCode() и equals() для определения уникальности ключей. Типы обертки (такие как Integer, Long, String) корректно реализуют эти методы, что позволяет им выступать в качестве ключей.
java