Удалить данные из ArrayList с помощью цикла For
У меня странная проблема. Я думал, что это будет стоить мне нескольких минут, но я борюсь за несколько часов ... Вот что я получил:
for (int i = 0; i < size; i++){
if (data.get(i).getCaption().contains("_Hardi")){
data.remove(i);
}
}
Thedata
этоArrayList.
В ArrayList у меня есть несколько строк (всего около 14), и в 9 из них есть имя _Hardi.
И с кодом выше, я хочу удалить их. Если яreplace data.remove(i);
сSystem.out.println
тогда он печатает что-то 9 раз, что хорошо, потому что _Hardi входит в ArrayList 9 раз.
Но когда я используюdata.remove(i);
тогда не удаляются все 9, а только несколько. Я сделал несколько тестов, и я также видел это:
Когда я переименую строки в: Hardi1 Hardi2 Hardi3 Hardi4 Hardi5 Hardi6
Затем удаляются только четные числа (1, 3, 5 и т. Д.). Он все время пропускает 1, но не может понять, почему.
Как это исправить? Или, может быть, другой способ их удалит