Iterator am Anfang setzen

lernen.2007

Erfahrenes Mitglied
Wenn ich so was habe:

while(iterator.hasNext())
{
Ticket ticket = (Ticket)iterator.next();

if(i == 0)
collection.remove(ticket);
++i;
}

dann scheiter nach dem Löschen(collection.remove(ticket)) an die Stelle iterator.hasNext()).Was muss ich machen?

Danke
 
N'Abend,

Iteratoren reagieren im allgemeinen recht allergisch, wenn man die Collection auf der sie gerade arbeiten "hinten rum" verändert (löschen, hinzufügen und so Sachen).
Wenn du Elemente eines Iterators entfernen willst, nimmt dazu die Methode remove(), die auf Iteratoren definiert ist. In deinem Fall solltest du
Code:
collection.remove(ticket);
durch
Code:
iterator.remove();
ersetzen.Näheres zu dem Thema findest du auch in der API-Doc.

hth
THMD
 
Zurück