使用 For 循环从 ArrayList 中删除数据
我遇到了一个奇怪的问题。我以为这会花费我几分钟,但我现在挣扎了几个小时......这是我得到的:
for (int i = 0; i < size; i++){
if (data.get(i).getCaption().contains("_Hardi")){
data.remove(i);
}
}
在 ArrayList 中,我得到了一些字符串(总共 14 个左右),其中 9 个字符串的名字_Hardi。data
ArrayList.
使用上面的代码,我想删除它们。如果我用一个,那么它会打印出9次的东西,什么是好的,因为_Hardi在ArrayList中有9次。replace data.remove(i);
System.out.println
但是当我使用时,它不会删除所有9个,而只是几个。我做了一些测试,我也看到了这个:data.remove(i);
当我将字符串重命名为:Hardi1 Hardi2 Hardi3 Hardi4 Hardi5 Hardi6
然后,它仅删除偶数(1,3,5等)。他一直在跳过1,但不知道为什么。
如何解决这个问题?或者也许是另一种删除它们的方法?