Я помню, что есть проблема с использованием цикла For для удаления элементов в списке, но вы можете использовать Enhanced For Loop. Затем сегодня я обнаружил, что при ее использовании сообщалась об ошибке, а затем пошла популяризировать науку, а затем обнаружил, что это недоразумение. Давайте поговорим об этом ниже. Полем Обратитесь и прыгайте прямо к концу статьи. Посмотрите на резюме. Полем
Существует три способа зацикнуть списки Traverse в Java, улучшить цикл (то есть общеизвестный как петля Foreach) и обход итератора.
1. Для списка обхода петли
for (int i = 0; i <list.size (); i ++) {if (list.get (i) .equals ("del")) list.remove (i);}Проблема с этим методом заключается в том, что после удаления элемента размер изменений списка и изменения вашего индекса, что заставит вас пропустить определенные элементы во время обхода. Например, когда вы удаляете первый элемент и продолжаете получить доступ к второму элементу в соответствии с индексом, потому что элементы после удаленного отношения перемещаются один за другим, фактический доступ к третьему элементу. Следовательно, этот метод может использоваться при удалении определенного элемента, но не подходит при удалении нескольких элементов в цикле.
2. Увеличить петлю
for (String x: list) {if (x.equals ("del")) list.remove (x);}Проблема с этим методом заключается в том, что после удаления элемента сообщение об ошибке будет сообщено, продолжая цикл, потому что одновременная модификация происходит при использовании элемента, что приводит к исключению. Однако, если вы используете перерыв, чтобы выпрыгнуть сразу после удаления, ошибка не будет вызвана.
3. Итераторный обход
Итератор <string> it = list.iterator (); while (it.hasnext ()) {string x = it.next (); if (x.equals ("del")) {it.remove (); }}Этот метод может быть зациклен и удален нормально. Но следует отметить, что если вы используете метод удаления итератора, если вы используете метод удаления списка, вы также сообщите об ошибке condurentModificationException, упомянутой выше.
Суммировать:
(1) Если вы цикл удалить конкретный элемент в списке, вы можете использовать любой из трех методов, но вы должны обратить внимание на различные проблемы, проанализированные выше при его использовании.
(2) Если вы циклете, чтобы удалить несколько элементов в списке, вы должны использовать метод итератора.
Приведенное выше резюме приведенного выше метода удаления элементов в списках в Java является все контент, разделенный редактором. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы будете поддерживать Wulin.com больше.