Das klassische Problem des Löschens von Objekten aus einer Liste, während Sie es durchlaufen.
for(int i=0; i < listCon.size(); i++)
{
removeConnection(listCon.get(i));
}
Sie
- Löschen Objekt 0
- Was Objekt früher 1 Objekt ist jetzt 0, was 2 verwendet werden Objekt jetzt Objekt 1
- Löschen Objekt 1 (das ist was war Objekt 2 gerade früher)
- Was einmal Objekt 2 war, ist nun Objekt 1, was früher Objekt 3 war, ist nun Objekt 2
Viele Lösungen dazu. Eine übliche Lösung ist das Löschen von Element 0, bis die Größe 0 ist.
EDIT: Wenn Ihr Ziel wirklich nur ist, das Array ohne andere Operationen zu löschen, dann ist listCon.clear()
bei weitem der bessere Ansatz. Ich gehe davon aus, dass removeConnection
mehr tut als nur das Element aus der Liste zu entfernen, Sie haben das einfach nicht gezeigt, um Ihr Beispiel einfach zu halten.
Tippfehler? i ++ = i-- –
Peter, ich habe mir die Freiheit genommen, '++' in '--' –
@Bart zu ändern, @Will danke. –