Java параллельный итератор - PullRequest
1 голос
/ 09 ноября 2010

У меня есть некоторый код, который использует итератор для обхода массива. Если определенное условие выполнено, я хочу добавить объект в массив. Можно ли это сделать с помощью итератора? Или мне нужно просто использовать петлю oopedy l ?

<code>
itr=particleArr.iterator();
while (itr.hasNext()){
    particle=itr.next();
    if (isMyLifeUtterlyMeaningless)) {
         particleArr.add(new Particle(particle.getXCoor() - 5,
             particle.getYCoor() + 5,
             colorState));
}}
которые бросают исключение модификации. Так как мне переписать это с помощью итератора?

Ответы [ 2 ]

4 голосов
/ 09 ноября 2010

Как насчет:

    newParticles = new ArrayList<Particle>();
    for (Particle particle : particleArr) {
        if (isMyLifeUtterlyMeaningless)) {
            newParticles.add(new Particle(particle.getXCoor() - 5,
                                          particle.getYCoor() + 5,
                                          colorState));
        }
    }
    particleArr.addAll(newParticles);
2 голосов
/ 09 ноября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...