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