package com.javarush.task.task08.task0816;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
import java.text.*;
/*
Добрая Зинаида и летние каникулы
*/
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>();
try {
map.put("Stallone1", df.parse("JUNE 1 1980"));
map.put("Stallone2", df.parse("AUGUST 1 1980"));
map.put("Stallone3", df.parse("MAY 1 1980"));
map.put("Stallone4", df.parse("DECEMBER 1 1980"));
map.put("Stallone5", df.parse("JULY 1 1980"));
map.put("Stallone6", df.parse("JUNE 1 1980"));
map.put("Stallone7", df.parse("JUNE 1 1980"));
map.put("Stallone8", df.parse("JUNE 1 1980"));
map.put("Stallone9", df.parse("JUNE 1 1980"));
map.put("Stallone", df.parse("JUNE 1 1980"));
} catch (ParseException e) {
e.printStackTrace();
}
return map;
}
public static void removeAllSummerPeople(HashMap<String, Date> map) {
for(Map.Entry<String, Date> pair : map.entrySet())
{
if(pair.getValue().getMonth() > 4 && pair.getValue().getMonth() < 8)
{
map.remove(pair.getKey());
}
}
}
public static void main(String[] args) {
}
}Анар Ахундов
10 уровень
Почему это не работает? А код с итератором из помощи работает. Не могу понять. Проблема в удалении именно.
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
DimaExpert
25 июня 2018, 15:08решение
Твоя программа завершается ошибкой ConcurrentModificationException Изменяешь коллекцию во время итерирования
+2
Анар Ахундов
27 июня 2018, 04:52
Да в тот же день покурил , отдохнул и нашел ошибку) Спасибо)
0
Alex B
9 июля 2018, 22:09
А как исправил то?
0
Анар Ахундов
16 июля 2018, 08:23
Создал копию мапа и прошелся по нему, когда проходишься по исходному мапу и меняешь его, работает неверно, потому что дальше идет по измененному объекту.
0