Подскажите, почему в задаче "Добрая Зинаида и летние каникулы", в методе removeAllSummerPeople
нам нужно создавать еще один Map. Почему нельзя работать сразу с map, зачем создавать копию map?
public static void removeAllSummerPeople(Map<String, Date> map) {
Map<String, Date> map1 = new HashMap<>(map);
Какого черта в задаче Добрая Зинаида и летние каникулы в правильном решении Date date = copy.get(key) берется значение из ключа, если дата записана в value ???????????
map.put("Смирнов", dateFormat.parse("MAY 1 2012"));
---------------------------------------------------------------------------------------------
public static void removeAllSummerPeople(Map<String, Date> map) {
Map<String, Date> copy = new HashMap<>(map);
for (String key : copy.keySet()) {
Date date = copy.get(key);
int month = date.getMonth() + 1;
if (month == 6 || month == 7 || month == 8) {
map.remove(key);
}
}
}
Очень радует, что в задачах можно экспериментировать. В задаче "Больше 10?" числа в коллекцию внес с помощью Math.random. Компилятор скушал, все хорошо.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ