nachzehrer
Ньюби
- Баллы
- 1
- Имя в Minecraft
- n4chzehrer
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Спасибо, решено.Во-первых, насколько я понял - метод replaceAll сразу автоматически проходит по всему Map, поэтому это очень грубая ошибка пихать его в forEach. А так получается у тебя цикл в цикле получается и скорее всего значения уходят в минус (можно было бы сделать дебаг, чтобы понять, что творится внутри HashMap). Просто вынеси метод replaceAll перед forEach.
Во-вторых, зачем условие if (pvp.time.get(k) == 0), если у тебя значение уже идет в .forEach((k,v)) -> //v - твое значение. Сразу проверяй переменную v. if (v == 0)
Пока что такие советы. Нужно тестировать и проверять.
Для такого нужно использовать Iterator. Правильно ж? Вот в нем можно удалять элементы во время итерации.ConcurrentModificationException для тебя шутка какая-то? Нельзя удалять элементы во время итерации.
Да, it.remove. Но я бы сделал так:Для такого нужно использовать Iterator. Правильно ж? Вот в нем можно удалять элементы во время итерации.
map.entrySet().removeIf(e -> {
if (e.setValue(e.getValue() - 1) - 1 <= 0) {
System.out.println(e.getKey());
return true;
}
return false;
});