Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2017, 16:34   #11
exercistxc
Новичок
Джуниор
 
Регистрация: 17.06.2017
Сообщений: 7
По умолчанию

Похоже условие было не корректным.
Нашел рабочий код в интернете.

Код:
public class Solution  {
public static HashMap<String, Integer> createMap() {
//напишите тут ваш код
HashMap<String, Integer> map = new HashMap<String, Integer>();
 map.put("a", 1);
map.put("b", 10);
map.put("c", 100);
map.put("d", 1000);
map.put("i", 10000);
map.put("f", 10000);
map.put("g", 10);
map.put("k", 10);
map.put("l", 10);
map.put("m", 100);
return map;
}

public static void removeItemFromMap(HashMap<String, Integer> map) {
//напишите тут ваш код
HashMap<String, Integer> buf = new HashMap<String, Integer>(map);
for(Map.Entry<String, Integer> k: buf.entrySet()){
if(k.getValue() < 500)
map.remove(k.getKey());

}
}

public static void main(String[] args) {
HashMap<String, Integer> map = createMap();
removeItemFromMap(map);
}
}
exercistxc вне форума Ответить с цитированием
Старый 19.06.2017, 16:40   #12
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

....да сколько ж можно повторять...

Код:
public static void main(String[] args) {
  Map<String, Integer> m = createMap();
  removeItemFromMap(m);
}
alexzk вне форума Ответить с цитированием
Старый 19.06.2017, 17:13   #13
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Кстати, у вас цикл удаления....не могу точно сказать, что верен. Помоему так делать нельзя

Цитата:
public Set<K> keySet()
Returns a Set view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations.
Т.е. вам нужно или через итератор .next() цикл делать, или сохранить копии ключей в отдельный массив (подлежащих удалению, но не удаленных еще!!!), а потом цикл по этому массиву и каждый ключ удалять из оригинала.

Последний раз редактировалось alexzk; 19.06.2017 в 17:16.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться с кодом:( sad3333 Помощь студентам 0 17.05.2016 19:42
Не могу разобраться с Css кодом Yaroslavovich HTML и CSS 0 01.06.2011 23:09
Не могу разобраться с кодом jey7 JavaScript, Ajax 1 17.06.2010 09:38
не могу разобраться с кодом morocko HTML и CSS 1 10.02.2010 21:23