public static void removeTheFirstNameDuplicates(HashMap<String, String> map) {
//напишите тут ваш код
}
public static void removeItemFromMapByValue(HashMap<String, String> map, String value) {
HashMap<String, String> copy = new HashMap<String, String>(map);
for (Map.Entry<String, String> pair : copy.entrySet()) {
if (pair.getValue().equals(value))
map.remove(pair.getKey());
}
}
Насколько я понял код removeItemFromMapByValue вообще не должен работать через цикл foreach, из-за ConcurrentModificationException и данный цикл может быть использован только для вывода всего содержимого на экран. Правильно ли я понимаю, что для того чтобы выполнить эту задачу необходимо переписать этот код через итерации и уже после этого вызывать этот метод в метод removeTheFirstNameDuplicates?ЧебураторСруль
17 уровень
Код по-умолчанию
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Roman Pryshchepa Java Developer Expert
31 января 2018, 08:15
Правильно понимаешь, если бы цикл проходил по оригинальной мапе, а так
можно, потому что мы не меняем мапу по которой идем. 0
hidden #1278682
31 января 2018, 06:47
можно через копию мапы решать
0
ЧебураторСруль
31 января 2018, 18:14
Спасибо.
0