Не фильтрует 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());}
    }