Ваше понимание несколько неверно (из моего пова. Сри! :).
Насколько я понимаю, "ключ и значения одинаковы", но клонированные карты не являются (одинаковыми) !И быть частью карты - это информация, о которой ни ключ, ни значение «не знают», а только карты / контейнеры ... и эта информация (копируется и) принадлежит каждой карте после клонирования.
Я бы согласился с вашим недоразумением / наблюдением, если бы вы проверили Map.Entry<K, V>
s ... (они также неизвестны базовым ключам и значениям).
И после клонированиявы / кто-то должен убедиться в этом, если вы хотите, чтобы клоны были синхронизированы .
Если вы действительно хотите "две ссылки" одной и той же карты(ожидаемое поведение), вы «просто» делитесь / передаете ссылку на эту карту (но не упустите параллелизм, «обычные» реализации карты не являются поточно-ориентированными):
//not: Map<X, Y> copy = original.clone(), but:
Map<X, Y> ref = original; // then all changes on "original" are "reflected" at "ref" ..
Under "глубокая копия ", я бы понял, что" ключи и значения "(и даже глубже) тоже клонируются.