Насколько я просмотрел практику "коллег" все делают, в основном, через iterator, for each в данном случае не подходит?
Не проходит последнюю проверку, не удаляет всех летних.
package com.javarush.task.task08.task0816;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
/*
Добрая Зинаида и летние каникулы
*/
public class Solution {
public static HashMap<String, Date> createMap() throws ParseException {
DateFormat df = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
HashMap<String, Date> map = new HashMap<String, Date>();
map.put("Stallone", df.parse("JUNE 1 1987"));
map.put("Stallon", df.parse("JUNE 1 1986"));
map.put("Stallo", df.parse("JUNE 1 1960"));
map.put("Stall", df.parse("JUNE 1 1880"));
map.put("Stal", df.parse("MAY 6 1980"));
map.put("Sta", df.parse("JUNE 7 1980"));
map.put("St", df.parse("JUNE 9 1980"));
map.put("S", df.parse("JUNE 10 1980"));
map.put("tallone", df.parse("JUNE 11 1980"));
map.put("allone", df.parse("JUNE 12 1980"));
return map;
}
public static void removeAllSummerPeople(HashMap<String, Date> map) {
for (HashMap.Entry<String, Date> pair : map.entrySet()){
String key = pair.getKey();
Date value = pair.getValue();
if(value.getMonth() > 4 && 8 > value.getMonth()) map.remove(key);
}
}
public static void main(String[] args) {
}
}