Задача решена, вопросы остались. Непонимание по методу remove(), который есть у map. Зачем он в принципе нужен, только чтобы удалять одиночные строки? а для чего нужен removeAll(), если есть clear()? Какой из трех способов удаления лучше, используется на практике (из кода ниже)?
public static void removeItemFromMap(Map<String, Integer> map) {
        //напишите тут ваш код

        // first
//        Map<String, Integer> map1 = new HashMap<>();
//        for (Map.Entry<String, Integer> entry : //набор
//                map.entrySet()) {                    //строка
//            if (entry.getValue() >= 500)
//                map1.put(entry.getKey(), entry.getValue());
//        }
//        map.entrySet().removeAll(map1.entrySet());

        // second
        Iterator<Map.Entry<String, Integer>> iter = map.entrySet().iterator();
        while (iter.hasNext()){
            Map.Entry<String, Integer> entry = iter.next();
            if (entry.getValue() < 500) iter.remove();
        }

        // third
//        map.entrySet().removeIf(entry -> entry.getValue() < 500);

    }