Если все записи выполняются до какого-либо чтения, вы можете использовать метод Collectons.unmodifiableMap .
Если это не так, то написание кода для выполнения того, что вы хотите, не очень сложен (бродит, чтобы найти пост, в котором есть основной код ...)
Хм ... просто чтобы быть уверенным, что вопрос в том, о чем я думаю ... является ли аспект, доступный только для чтения, важной частью или он пытается быстро получить доступ к данным самой важной частью?
Редактировать: (на основании комментария)
Вы проверяли, с помощью профилировщика, медленный ли код? Если нет, то вам пока не стоит об этом беспокоиться.