Назад к вопросам
Junior
72
questionbank

Может ли примитивный тип данных быть ключом в коллекции HashMap?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Да, примитивный тип данных может использоваться как ключ в HashMap.

При этом происходит автоматическое преобразование примитивного типа в его соответствующий тип обертку (autoboxing). Например, int преобразуется в Integer, long в Long и так далее.

HashMap использует методы hashCode() и equals() для определения уникальности ключей. Типы обертки (такие как Integer, Long, String) корректно реализуют эти методы, что позволяет им выступать в качестве ключей.

// Пример использования int в качестве ключа HashMap
Map<Integer, String> myMap = new HashMap<>();
myMap.put(10, "Десять"); // Autoboxing int 10 в Integer
myMap.put(20, "Двадцать"); // Autoboxing int 20 в Integer

// Пример получения значения по примитивному ключу
String value = myMap.get(10); // Autoboxing int 10 в Integer для поиска
// value будет "Десять"