我有这个arraylist:
// Add predators predators = new ArrayList(); for (int i = 0; i < predNum; i++) { Creature predator = new Creature(random(width), random(height), 2); predators.add(predator); }
如何构造语句,以便predators每500帧删除arraylist 中的最后一个元素?是否需要某种循环?
predators
if (frameCount == 500){ predators.remove(1) }
如果您已经有了一个变量,可以跟踪您所处的帧,则可以使用以下if语句:
if (frameCount % 500 == 0) { predators.remove(1); //use this if you want to remove whatever is at index 1 every 500 frames predators.remove(predators.size() -1); //use this if you want to remove the last item in the ArrayList }
由于您将其用作1ArrayList的remove方法的参数,因此我也这样做了,但请注意,由于arrayList索引从0开始计数,因此它将始终删除arrayList中的第二个对象。
1
仅在帧数是500的倍数时才运行。
如果尚未跟踪frameCount,则必须放入frameCount++每个帧执行的循环。
frameCount++