Некорректно удаляет объекты. Логика какая:
//создал копию коллекции
// скопировал ключи и значения
// прохожусь по значениям скопированной коллекции
//создаю календарь из даты по значению
//удаляю летние месяцы по значению
... ?
package com.javarush.task.task08.task0816;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/*
Добрая Зинаида и летние каникулы
*/
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("2", dateFormat.parse("MAY 1 2012"));
map.put("3", dateFormat.parse("JUNE 1 2012"));
map.put("4", dateFormat.parse("JULY 1 2012"));
map.put("5", dateFormat.parse("AUGUST 1 2012"));
map.put("6", dateFormat.parse("MAY 1 2012"));
map.put("7", dateFormat.parse("MAY 1 2012"));
map.put("8", dateFormat.parse("MAY 1 2012"));
map.put("9", dateFormat.parse("MAY 1 2012"));
map.put("0", dateFormat.parse("MAY 1 2012"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) throws ParseException {
Map<String, Date> copy = new HashMap<>();
for (Map.Entry<String,Date> pair: map.entrySet()) {
copy.put(pair.getKey(),pair.getValue());}
for (Date date: copy.values()) {
Calendar cal = new GregorianCalendar();
cal.setTime(date);
if (cal.get(Calendar.MONTH)>=5&cal.get(Calendar.MONTH)<=7) map.remove(date);
}
}
public static void main(String[] args) {
}
}