Вы можете достичь этого в две строки
Это решение основано на комментарии (которое создало впечатление, что ОП хотел, чтобы map1 была точной копией map2)
[...] Я пытаюсь сохранить ту же ссылку на исходную карту1 и не заменять ее новой картой. [Sic]
//Retains only those keys that are in map2
map1.keySet().retainAll(map2.keySet());
//(Possibly) Overwrite value for each key in map2 into map1
map2.forEach(map1::put);
Я не верю, что это поможет вам улучшить производительность.
EDIT:
Как предположил Джейкоб Г., у вас может быть map1.putAll(map2)
для последней строки
EDIT2:
Если мы рассмотрим OP (а не комментарии), если в map2 есть какие-либо ключи, которых нет в map1, они не должны заканчиваться в map1, и, следовательно, последнее утверждение становится
map1.forEach((key, value) -> map1.put(key, map2.get(key)));