繁体   English   中英

Java Arraylist删除对象

[英]Java Arraylist remove object

每当阵列列表形状中的一个框到达指定位置时,都必须将其从阵列列表中删除。 但这似乎不起作用,我在做什么错?

if(!box.removing && box.y == MoveY - 50 && MoveX != box.x) {
                    box.removing = true;
                    score += 10;

                    System.out.println(shapes.indexOf(box));

                    shapes.remove(shapes.indexOf(box));


                } else {
                    // Gravity loop, if not reached the position. This work.
                    box.update(1);
                }

List类型支持“ .remove()”的变体,该变体将对象本身作为参数,因此您无需先找到其索引然后再按索引删除。 话虽如此,对于ArrayList类型而言,此操作相对昂贵; 如果要在任意位置插入/删除,请使用LinkedList。

//data = your Array list
for (Iterator i = data.iterator(); i.hasNext(); ) {
    Object element = i.next();

    if ((..your conition..)) {
       i.remove();
    }
}

如果要检查每个对象的状况,请使用上面的代码。 但是,如果您只有对象,则要删除该对象而不是简单地调用。

yourList.remove(your-object);

看看这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM