Для чего используется метод put() в HashMap?

«Для чего используется метод put() в HashMap?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод put(K key, V value) в java.util.HashMap выполняет добавление или обновление пары ключ-значение в отображении.

Основные действия:

  1. Если ключ отсутствует в мапе, добавляется новая запись.
  2. Если ключ уже существует, его старое значение заменяется на новое, и метод возвращает старое значение.

Пример:

HashMap<String, Integer> map = new HashMap<>();

// Добавление новой записи
map.put("apple", 10); // -> null (ключа не было)

// Обновление существующей записи
Integer oldValue = map.put("apple", 25); // -> возвращает 10 (старое значение)
System.out.println(map.get("apple")); // Выведет: 25

// Добавление другой записи
map.put("banana", 5);

Важные детали:

  • Возвращаемое значение: null, если ключа не было, либо предыдущее значение, связанное с ключом.
  • Потокобезопасность: HashMap не синхронизирован. Для многопоточного доступа используйте ConcurrentHashMap или синхронизацию.
  • Производительность: В среднем работает за O(1), но может деградировать до O(n) при большом количестве коллизий.