我有一些使用迭代器来遍历arraylist的代码。如果满足某个条件,我想在arraylist中添加一个对象。这可以用迭代器完成吗?或者我是否只需使用l oopedy循环?
itr=particleArr.iterator();
while (itr.hasNext()){
particle=itr.next();
if (isMyLifeUtterlyMeaningless)) {
particleArr.add(new Particle(particle.getXCoor() - 5,
particle.getYCoor() + 5,
colorState));
}}
抛出修改异常。那么如何用迭代器重写它呢?
答案 0 :(得分:4)
怎么样:
newParticles = new ArrayList<Particle>();
for (Particle particle : particleArr) {
if (isMyLifeUtterlyMeaningless)) {
newParticles.add(new Particle(particle.getXCoor() - 5,
particle.getYCoor() + 5,
colorState));
}
}
particleArr.addAll(newParticles);
答案 1 :(得分:2)