Kaj*_*Kaj 2 java iterator arraylist
我在我的班级'Bomb'的Java中有一个ArrayList.
这个类有一个方法'isExploded',如果炸弹爆炸,这个方法将返回true,否则返回false.
现在我正在尝试迭代这个arraylist,调用此方法isExploded并从列表中删除该元素,如果它返回true.
我知道如何迭代:
for (Iterator i = bombGrid.listIterator(); i.hasNext();) {
if () {
i.remove();
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何通过迭代器访问Bomb类本身的方法isExploded.有谁知道答案吗?
此致
卢克索
您需要使用下一个获取炸弹:
for (Iterator i = bombGrid.listIterator(); i.hasNext();) {
Bomb bomb = (Bomb) i.next();
if (bomb.isExploded()) i.remove();
}
Run Code Online (Sandbox Code Playgroud)
或者如果你可以Iterator<Bomb>从你的炸弹网格中得到一个(它是一个ArrayList<Bomb>?):
Iterator<Bomb> i = bombGrid.listIterator();
while (i.hasNext()) {
Bomb bomb = i.next();
if (bomb.isExploded()) i.remove();
}
Run Code Online (Sandbox Code Playgroud)
这假设您的迭代器支持remove,例如由一个给出的情况ArrayList.