Задача решена, вопросы остались. Непонимание по методу 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);
}