В обычной изменяемой Map повторный put с равным ключом заменяет прежнее значение. После записи 21, а затем 10 вызов get("Вася") вернёт 10.
Если в мапу добавить ключ 'Вася' со значением 21, а потом тот же ключ со значением 10, что вернётся при get('Вася')?
В обычной изменяемой Map повторный put с равным ключом заменяет прежнее значение. После записи 21, а затем 10 вызов get("Вася") вернёт 10.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В обычной изменяемой Map повторный put с равным ключом заменяет прежнее значение. После записи 21, а затем 10 вызов get("Вася") вернёт 10.
Пример для Java:
Map<String, Integer> ages = new HashMap<>();
ages.put("Вася", 21);
Integer previous = ages.put("Вася", 10);
System.out.println(ages.get("Вася")); // 10
В previous будет 21, а размер карты останется равным единице. Это не добавление второго элемента и не сложение значений. Поведение предполагает обычную изменяемую карту и отсутствие параллельных изменений; неизменяемая карта операцию записи не поддерживает.