@TheWanderer:
Ja, so hatte ich es erst auch gemacht. Diese Methode verwende ich auch sehr oft, mit der speziellen bool-Variable, die sagt, ob das Element benutzt wird oder nicht.
Aber: Beim Partikelsystem habe ich etwas gefunden, was meiner Meinung nach besser ist. Angenommen wir haben die Liste mit den Elementen A, B, C, D, E, F, G, H. Jedes Element ist ein Partikel. Die Reihenfolge sei jetzt mal egal. Nun "stirbt" der Partikel D. Jetzt kopiert man einfach den letzten Partikel (H) dorthin. Die neue Liste heißt: A, B, C, H, E, F, G. Der Vorteil: Es entstehen keine Lücken!
Bei Deiner Methode könnte - theoretisch - so etwas passieren: Erster Partikel existiert, danach kommen 1000 freie Partikel und dann wieder ein existierender. Das heißt man müsste 1000 freie Partikel bei der for-Schleife durchlaufen, und würde immer nur direkt zum nächsten springen.
Bei der von mir beschriebenen Methode gehst Du mit der for-Schleife immer wirklich nur so viele Elemente durch, wie auch existieren. Allerdings entsteht natürlich ein gewisser Aufwand durch das Kopieren von Speicher, aber ich denke, dass es sich durchaus lohnt!