В Идее отладчиком прохожу и вижу, что внутри метода все происходит как надо, и в конце переменная map копирует в себя содержащуюся по ссылке bufMap карту, где уже удалены все летние.
Но когда вылетаем из метода, то опять map их в себе содержит.
Чую, что ошибка тупая, но пока в ступоре...
ЗЫ: что использую устаревшие методы знаю, каюсь. Но и Date устаревший, так-то LocalDate надо
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("1", dateFormat.parse("FEBRUARY 1 2012"));
map.put("2", dateFormat.parse("MAY 1 2012"));
map.put("3", dateFormat.parse("AUGUST 1 2012"));
map.put("4", dateFormat.parse("MAY 1 2012"));
map.put("5", dateFormat.parse("MAY 1 2012"));
map.put("6", dateFormat.parse("AUGUST 1 2012"));
map.put("7", dateFormat.parse("MAY 1 2012"));
map.put("8", dateFormat.parse("AUGUST 1 2012"));
map.put("9", dateFormat.parse("MAY 1 2012"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) {
//напишите тут ваш код
Map<String, Date> bufMap = new HashMap<>();
for (Map.Entry<String, Date> entry : map.entrySet()) {
if (entry.getValue().getMonth() < 6 || entry.getValue().getMonth() > 8) {
bufMap.put(entry.getKey(), entry.getValue());
}
}
map = bufMap;
}
public static void main(String[] args) throws ParseException {
Map<String, Date> map = createMap();
System.out.println(map);
removeAllSummerPeople(map);
System.out.println(map);
// Date date = new Date();
// System.out.println(date);
// System.out.println(date.getMonth() + 1);
}
}