我有以下代码:
for(int i = 0; i < oldCars.size(); ++i)
{
if(oldCars.get(i).getVelocity().length() > 0.0f)
{
oldCars.get(i).update(timeStep);
}
else
{
oldCars.remove(i);
}
}
它似乎可以正常工作,但是在所有条件下都可以工作吗?
谢谢
最佳答案
如果要在迭代时删除,请从头开始:
for(int i = oldCars.size() - 1; i >= 0; i--)
{
if(oldCars.get(i).getVelocity().length() > 0.0f)
{
oldCars.get(i).update(timeStep);
}
else
{
oldCars.remove(i);
}
}