/*
Создать словарь (Map) и занести в него десять записей по принципу: «фамилия» - «зарплата».
Удалить из словаря всех людей, у которых зарплата ниже 500.*/
public class Solution {
public static Map<String, Integer> createMap() {
Map<String, Integer> mapa = new HashMap<String, Integer>();
mapa.put("Игорь", 300);
mapa.put("Алекс", 350);
mapa.put("Володя", 170);
mapa.put("Майк", 510);
mapa.put("Джеймс", 160);
mapa.put("Виктор", 780);
mapa.put("Владимир", 670);
mapa.put("Григорий", 900);
mapa.put("Артур", 3100);
mapa.put("Витя", 100);
return mapa;
}
public static void removeItemFromMap(Map<String, Integer> map) {
Map<String, Integer> copy = new HashMap<>(map);
for(Map.Entry<String,Integer> helper : copy.entrySet()){
if(helper.getValue()<500){
map.remove(helper.getKey());
}
}
}
public static void main(String[] args) {
}
}Anonymous #3285075
29 уровень
Вопрос : зачем тут копировать аргумент map, в новую copy-мапу?? Разве не легче напрямую саму мапу в foreach ставить??
Решен
Комментарии (12)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Basilius
12 мая 2023, 12:16
Мы не можем редактировать коллекцию, которая в данный момент проходит через цикл foreach, для этого создаётся копия)
копию читаем, правим оригинал)
+1
Anonymous #3285075 Java Developer
12 мая 2023, 14:12
Огромное вам спасибо за простой, развернутый ответ!
+1
Денис Enterprise Java Developer
12 мая 2023, 10:46
Но ведь можно же поменять одно слово в коде и самому увидеть ConcurrentModificationException
Неужели настолько лень?
0
Anonymous #3285075 Java Developer
12 мая 2023, 10:52
Я не понимаю что такое "ConcurrentModificationException", поэтому и задаю тут вопрос, чтобы получить какое-то объяснение.
0
Anonymous #3285075 Java Developer
12 мая 2023, 10:53
Пытался гуглить данный вопрос , в интернете нету тоже ничего(по край не мере на русском точно), поэтому решил я спросить уже у опытных прогеров на javarush.
PS : речь идет не про конкретно эту задачку, а в общем почему так, если что)
0
Денис Enterprise Java Developer
12 мая 2023, 10:54
Ты не поверишь что я нашёл в гугле
0
Anonymous #3285075 Java Developer
12 мая 2023, 10:57
Сложно документацию читать через переводчик, а английским я не владею, уж простите)
0
Денис Enterprise Java Developer
12 мая 2023, 11:00
Ну значит учись, 90% актуальной и полезной инфы именно на нём.
В прочем, если открыть не вторую ссылку в гугле, а первую, то можно попасть на хабр как минимум
А есть и StackOverflow
+1
Anonymous #3285075 Java Developer
12 мая 2023, 11:04
За страничку на хабр спасибо большое. Английский я учить начал недавно, как раз чтобы документации по прогам читать, но еще очень плохо его знаю, а через переводчик читать не вариант, я так понял.
0
LoExpert
27 июня 2023, 18:37
И как успехи с английским? Не знаю как технический,но разговорный легко дается на Дуолинго, и приложение для андроид есть, не только сайт. Очень клевый у них подход,сама там учу, до этого где только не пробовала, даже репетиторы не дают материал так понятно.
0
Anonymous #3285075 Java Developer
1 августа 2023, 07:59
Учу его на канале "английский по плейлистам" от Александра Бебриса. Очень рекомендую, неплохо подтянул английский, уже даже сказки детские читать могу.
+1
LoExpert
13 августа 2023, 14:38
Спасибо, посмотрю что там) сказки я тоже уже читаю, удачи в обучении! Пиши в личку, если будет время просто поболтать.
0