本文介绍了Java删除数组列表迭代器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 Java 类Bomb"的 ArrayList.

I've an ArrayList in Java of my class 'Bomb'.

这个类有一个方法'isExploded',如果炸弹已经爆炸,这个方法将返回true,否则返回false.

This class has a method 'isExploded', this method will return true if the bomb has been exploded, else false.

现在我正在尝试遍历此数组列表,调用此方法 isExploded 并在返回 true 时从列表中删除该元素.

Now I'm trying to iterate through this arraylist, call this method isExploded and remove the element from the list if it returns true.

我知道如何迭代:

    for (Iterator i = bombGrid.listIterator(); i.hasNext();) {
    if () {         
        i.remove();
}

但我不知道如何通过迭代器访问 Bomb 类本身的方法 isExploded.有人知道答案吗?

But I've no idea how to access the method isExploded of the Bomb class itself via the iterator. Does anyone know the answer to this?

真诚的

乐视

推荐答案

您需要使用 下一步 :

for (Iterator i = bombGrid.listIterator(); i.hasNext();) {
   Bomb bomb = (Bomb) i.next(); 
   if (bomb.isExploded()) i.remove();
}

或者如果你能从你的bombGrid得到一个Iterator(它是一个ArrayList?):

Or if you can get an Iterator<Bomb> from your bombGrid (is it an ArrayList<Bomb> ?):

Iterator<Bomb> i = bombGrid.listIterator();
while (i.hasNext()) {
   Bomb bomb = i.next(); 
   if (bomb.isExploded()) i.remove();
}

这假设您的迭代器支持 remove,例如 ArrayList 给出的就是这种情况.

This supposes your iterator supports remove, which is the case for example by the one given by an ArrayList.

这篇关于Java删除数组列表迭代器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 14:11