Удаление элемента из ArrayList

451
28 января 2017, 09:27

Я хочу использовать Iterator, чтобы удалить элемент. Примерно так:

List<Element> elements = obj.getElements();
Iterator<Element> it = elements.iterator();
    while (it.hasNext()) {
        Element el = it.next();
        if (el.getCounter() < minValue || el.getCounter() > maxValue) {
                elements.remove(queue);
            }
        }
        return queues;

Однако, получаю ConcurrentModificationException на строке 4 при втором проходе цикла. Подскажите, как мне исправить эту ошибку?

Answer 1

В данном случае, ConcurrentModificationException возникает из-за того, что Вы, итерируясь по коллекции, изменяете эту самую коллекцию.

Удаляйте элементы из коллекции с помощью итератора методом remove(), который удаляет текущий элемент.

READ ALSO
Найти хэш-таблицу в HashMap

Найти хэш-таблицу в HashMap

Начав исследовать такое явление как hash-таблица, я понял, что это некий массив, каждая ячейка которого хранит список, который параметризован...

311
Размещение сцены в Tab

Размещение сцены в Tab

Есть ряд окон, которые я перевожу на вкладкиНо при простом переносе, они не хотят растягиваться

314
Как реализовать добавление новостей в Android приложение?

Как реализовать добавление новостей в Android приложение?

Добрый день! Имеется некое приложение в котором необходимо реализовать добавление новостейНовости хранятся на сервере

333
Android переводчик online/offline

Android переводчик online/offline

Всем привет, есть задача написать переводчик, который будет работать как с интернетом, так и без негоС интернетом тут проблемы нет: любое...

341