0

我试图从我的 ArrayList 中删除一个对象,该对象被 Iterator 引用,所以我可以删除该对象。但问题是,它不起作用。

当键盘下一个运行时按下某个键“在这种情况下,向下”时,它必须删除在我的“球”Arraylist 中创建的最新对象。

我正在使用 LWJGL 和 OpenGL。

while(Keyboard.next()) {
if(Keyboard.isKeyDown(Keyboard.KEY_DOWN)) {
    Iterator<ball> theBall = balls.iterator();
    while (theBall.hasNext()) {
        theBall.remove();       
    }
}
}
4

2 回答 2

1

请记住,您必须打电话theBall.next();才能转到下一个项目。我在你的代码中没有看到。

于 2013-02-16T19:20:51.353 回答
0

您迭代的方式不正确,因为您必须为每次迭代调用 next() 。但是无论如何,如果您想删除列表的最后一个元素,则不应循环,而应将所有代码替换为:

balls.remove(balls.size() - 1);
于 2013-02-16T19:21:28.790 回答