Построить Map<VALUE, List<KEY>>
, то есть Map<String, List<String>>
.
Пример
Map<String, String> map = new HashMap<>();
map.put("hello", "0123");
map.put("hola", "0123");
map.put("kosta", "0123");
map.put("da", "03");
map.put("notda", "013");
map.put("twins2", "01");
map.put("twins22", "01");
map.entrySet().stream()
.collect(Collectors.groupingBy(Entry::getValue,
Collectors.mapping(Entry::getKey, Collectors.toList())))
.entrySet().stream()
.filter(e -> e.getValue().size() > 1)
.forEach(System.out::println);
выход
01=[twins22, twins2]
0123=[kosta, hello, hola]
Без filter()
результат будет:
01=[twins22, twins2]
013=[notda]
03=[da]
0123=[kosta, hello, hola]