какой метод по умолчанию вызывается при удалении пары с совпадающем ключом в HashMap java?
Просто я сейчас читал статью и заметил, что при попытке добавить в карту пару, с у же существующем ключом, то старый стирается (или перезаписывается на новый). И вот какой метод по умолчанию вызывается в этот момент?
Ответы (1 шт):
Внимательно посмотрим на сигнатуру метода put, который используется для добавления пары ключ-значение. Для этого нужно перейти в java.util.Map
V put(K key, V value);
Как мы можем видеть, этот метод имеет тип V - что соответствует значению, а не ключу пары.
Внутри HashMap,например, при добавлении новой пары, внутри корзины, в который попала пара, выполняется проверка на равенство ключа пары которую мы пытаемся положить со всеми ключами пар которые лежат внутри корзины.
Если совпадений не найдено внутри метода вызывается метод addEntry(hash, key, value, index).
Если есть совпадение по ключам, то в карту записывается новая пара и возвращается значение (а не ключ) старой пары.
Если хотите более подробно разобраться в работе, советую ознакомиться с этой статьей.
https://habr.com/ru/post/128017/