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("JUNE 1 2012"));
map.put("Сталлоне2", dateFormat.parse("JULY 1 2012"));
map.put("Сталлоне3", dateFormat.parse("AUGUST 1 2012"));
map.put("Сталлоне4", dateFormat.parse("SEPTEMBER 1 2012"));
map.put("Сталлоне5", dateFormat.parse("OCTOBER 1 2012"));
map.put("Сталлоне6", dateFormat.parse("NOVEMBER 1 2012"));
map.put("Сталлоне7", dateFormat.parse("DECEMBER 1 2012"));
map.put("Сталлоне8", dateFormat.parse("JANUARY 1 2012"));
map.put("Сталлоне9", dateFormat.parse("FEBRUARY 1 2012"));
//напишите тут ваш код
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()) {
Date date = iterator.next().getValue();
if (date.after(dateFormat.parse("MAY 31 2012")) && date.before(dateFormat.parse("SEPTEMBER 1 2012"))) {
map.remove(iterator);
}
}
}
public static void main(String[] args) throws ParseException {
removeAllSummerPeople(createMap());
}
}
Андрей
23 уровень
Почему методы after , before не срабатывают?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей ШершавинExpert
13 апреля 2020, 11:56
Срабатывают, но
Что вы пытаетесь так удалить? Такой сущности в вашей карте нет, если уж взялись за итератор, то логично использоваться его методы iterator.remove();
Ну, и если говорить в общем, в задании требуется удалить людей, родившихся летом, а не летом 2012 года. +1
Андрей
13 апреля 2020, 14:25
Понял и первое и второе, спасибо)
0