Встречается на 2% собеседований по Java

Почему примитив не может быть ключом

Примитивы не могут быть ключами в Map напрямую, так как ключи должны быть объектами. Однако Java автоматически упаковывает примитивы в соответствующие объекты-обертки (например, int в Integer) через autoboxing. Это позволяет использовать примитивы в качестве ключей, но под капотом они преобразуются в объекты.

Пример:

java
Map<Integer, String> map = new HashMap<>();
map.put(1, "One"); // Автоматическая упаковка int в Integer

Нюансы:

  1. Автоупаковка может привести к дополнительным накладным расходам.
  2. Примитивы не могут быть null, а их объектные аналоги — могут. Это важно учитывать при работе с Map.
  3. Для HashMap важно, чтобы ключи были неизменяемыми (как Integer), иначе это может нарушить работу структуры.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы