Я уже увидел, альтернативу, про возможности использования get.Month().
Я читал совет что нужно писать "свой" код.
Вопрос: Подскажите пожалуйста как сравнить при переборе Даты, чтобы сравнивалось именно буквенное обозначение МЕСЯЦа (как в моем коде), а год и число месяца игнорировалось (было любое, как в шаблоне SimpleDateFormat).
Если я точно прописываю дату для сравнения (например "AUG 25 2020"), то все работает! Но это же не по-программистски !
Верю, что есть возможность, чтобы код сработал именно таким способом.
Не дайте надеждам рухнуть!
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 9 2020"));
map.put("Колян", dateFormat.parse("JUN 6 2020"));
map.put("Толян", dateFormat.parse("FEB 15 2020"));
map.put("Косой", dateFormat.parse("AUG 25 2020"));
map.put("Сиплый", dateFormat.parse("OCT 30 2020"));
map.put("Яшка", dateFormat.parse("APR 8 2020"));
map.put("Леха", dateFormat.parse("DEC 19 2020"));
map.put("Димон", dateFormat.parse("JUL 5 2020"));
map.put("Вован", dateFormat.parse("JAN 17 2020"));
map.put("Валик", dateFormat.parse("AUG 7 2020"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
while (iterator.hasNext())
{
Map.Entry<String, Date> pair = iterator.next(); //получение «пары» элементов
Date value = pair.getValue(); //значение
if (value.equals(dateFormat.parse("JUN d yyyy")) | value.equals(dateFormat.parse("JUL d yyyy"))
| value.equals(dateFormat.parse("AUG d yyyy")));
{iterator.remove();} //удаление пары
}
}
public static void main(String[] args) throws ParseException {
removeAllSummerPeople(createMap());
System.out.println(createMap());
}
}