Подскажите, пожалуйста, что не так, вроде бы логически все верно пытаюсь сделать, но что-то компилятор ругается на remove функцию
package com.javarush.task.task08.task0816;
import java.util.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
/*
Добрая Зинаида и летние каникулы
*/
public class Solution {
public static Map<String, Date> createMap() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
Map<String, Date> map = new HashMap<>();
map.put("Сталлоне", dateFormat.parse("MAY 1 2012"));
map.put("Сталлоне1", dateFormat.parse("JUN 1 2012"));
map.put("Сталлоне2", dateFormat.parse("JUL 1 2012"));
map.put("Сталлоне3", dateFormat.parse("JUL 1 2012"));
map.put("Сталлоне4", dateFormat.parse("MAY 1 2012"));
map.put("Сталлоне5", dateFormat.parse("MAY 1 2012"));
map.put("Сталлоне6", dateFormat.parse("AUG 1 2012"));
map.put("Сталлон7", dateFormat.parse("MAY 1 2012"));
map.put("Стал5555лоне", dateFormat.parse("FEB 1 2012"));
map.put("Сталл32131оне", dateFormat.parse("AUG 1 2012"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) {
Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
while (iterator.hasNext())
{
//получение «пары» элементов
Map.Entry<String, Date> pair = iterator.next();
String key = pair.getKey();
Date value = pair.getValue();
if((value.getMonth()==5) || (value.getMonth() == 6) ||(value.getMonth()==7))
map.remove(key);
}
}
public static void main(String[] args) throws ParseException {
Map<String, Date> map = createMap();
for (Map.Entry<String, Date> entry : map.entrySet())
System.out.println("Key: " + entry.getKey() + " Value: " + entry.getValue());
removeAllSummerPeople(map);
System.out.println("\n\n_________________");
for (Map.Entry<String, Date> entry : map.entrySet())
System.out.println("Key: " + entry.getKey() + " Value: " + entry.getValue());
}
}