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

Является ли строка хорошим ключом для HashMap

Строки могут быть хорошими ключами для HashMap, если соблюдены условия:

  1. Иммутабельность - String в Java неизменяем (immutable), что гарантирует, что хэш-код не изменится после добавления в HashMap.

  2. Правильный hashCode() - String реализует корректный hashCode(), равномерно распределяющий значения.

  1. Правильный equals() - String корректно сравнивает содержимое.

Пример хорошего использования:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1); // Хорошо, так как String immutable

Но есть нюансы:

  • Длинные строки могут снижать производительность из-за вычисления хэша
  • Если строки создаются динамически (например, конкатенация), лучше использовать intern() или другие механизмы для избежания дублирования

В целом, String - один из лучших вариантов для ключей HashMap в Java.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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