У меня возникла странная проблема. Я думал, что это будет стоить мне нескольких минут, но сейчас я боюсь несколько часов... Вот что я получил:
for (int i = 0; i < size; i++){
if (data.get(i).getCaption().contains("_Hardi")){
data.remove(i);
}
}
data
- это 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, но не может понять, почему.
Как это исправить? Или, может быть, другой способ их удалить?