Подскажите почему нельзя использовать метод remove? Правильно решение увидел в разделе помощи, сам мучался с моим вариантом map.remove. Прог комплириуется но решение не подходит. почему так нельзя делать?
public static void removeAllSummerPeople(HashMap<String, Date> map) {
Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, Date> pair = iterator.next();
String key = pair.getKey();
int value = pair.getValue().getMonth();
if(value == 5 || value == 6 || value == 7){
//iterator.remove();
map.remove(key);
}
}
}
Antony
26 уровень
Не проходит проверку
Архивный
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Дорофеев Backend Developer в Ай-Теко Expert
26 апреля 2019, 07:18
Хорошее объяснение
https://ru.stackoverflow.com/questions/540292/%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%B2-%D1%86%D0%B8%D0%BA%D0%BB%D0%B5-foreach-%D0%BD%D0%B5-%D0%B1%D1%80%D0%BE%D1%81%D0%B0%D0%B5%D1%82-concurrentmodificationexcept
0