Не фильтрует Name, если он уже есть в мапе
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<Integer, String> map = new HashMap<>();
int id;
String name;
while (true) {
String s = reader.readLine();
if (s.isEmpty()) { //Проверяю введенну строку на пустоту
break;
}
id = Integer.parseInt(s); //перевожу проверенную строку в число
name = reader.readLine();
for (Map.Entry<Integer, String> pair : map.entrySet()) { //проверка есть ли уже строка name в map-е
if (name.equals(pair.getValue())) {
break;
}
}
map.put(id, name); // если все прошло, то добавляю значения в карту
}
for(Map.Entry<Integer, String> pair: map.entrySet()){ //вывод
System.out.println(pair.getKey() + " " + pair.getValue());}
}