Сначала посмотрите на код ниже:
Import java.util.linkedlist; a ") ;; (" b "); list.add (" c "); list.add (" d "); list.add (" e "); for (int i = 0; i <list.size ();Приведенный выше код должен быть правильным в соответствии с идеей, и результат вывода должен быть 0
Посмотрите на результаты фактического вывода ниже:
Количество оставшихся элементов: 2
Вы можете спросить, почему? Поскольку размер коллекции динамичен, когда вы удаляете элемент, серийный номер в элементе переоценивается. Третий. );
Результат вывода после присоединения к указанному выше оператору:
Элементы, которые должны быть удалены:
Элементы, которые должны быть удалены: c
Элементы, которые должны быть удалены: E
Количество оставшихся элементов: 2
Решение:
Причина в том, что элементы, которые вы хотите удалить, двинулись вперед, а значение вашего магазина все еще возвращается, поэтому, если я позволю, я вернусь и перейти к вперед, вы можете удалить второй во втором. Позиция теперь ранжируется на первой позиции.
Основной код после изменения:
for (int i = 0; i <list.size (); i ++) {System.out.println ("" Элементы, которые должны быть удалены: "+list.get (i)); list.remove ( я);результат:
Элементы, которые должны быть удалены:
Элементы, которые должны быть удалены: b
Элементы, которые должны быть удалены: c
Элементы, которые должны быть удалены: D
Элементы, которые должны быть удалены: E
Количество оставшихся элементов: 0
Выше всего содержимое этой статьи.