Сначала переверните ключ и значение на вашей hm
карте в Multimap
,, затем перепишите значение в свой собственный map.code следующим образом:
Multimap<String,Integer> reverseMap = ArrayListMultimap.create();
hm.entrySet().stream()
.forEach(integerStringEntry -> reverseMap.put(integerStringEntry.getValue(),integerStringEntry.getKey()));
reverseMap.keySet().forEach(s -> reverseMap.get(s).stream()
.skip(1L)
.forEach(integer -> {
String uuids = UUID.randomUUID().toString().replace("-", "");
hm.put(integer,uuids);
}));
System.out.println(hm);
Вывод:
{100=1111111111, 101=5252, 102=2e3586d248e3413687ff55dc17817c7d, 103=4589857}