Pętla for-each odmawia posłuszeństwa.

0

Witam wszystkich forumowiczów.

Ostatnio tworzę mały projekt w javie i libgdx.
Natknąłem się na mały problem z pętlą for-each.

Kiedy próbuję w ten sposób ją wykorzystać: http://wklej.org/id/1529370/
Wyskakuje błąd o następującej treści: http://wklej.org/id/1529373/

Można to olać i zrobić to w ten sposób: http://wklej.org/id/1529379/
I to będzie działać. Lecz ciekawi mnie dlaczego for-each odmawia mi posłuszeństwa.

Co ciekawe w kodzie korzystam już z pętli for-each i to nawet do tej samej tablicy: http://wklej.org/id/1529389/ I o dziwo tam błędów nie ma ;D

Cały projekt jest otwarty i można go znaleźć na githubie: https://github.com/KosuDS/Tetris-Evolution

Klasa o której mowa: https://github.com/KosuDS/Tetris-Evolution/blob/master/source/core/src/com/mygdx/modes/Mode.java#L133

Z czystej ciekawości chcę się dowiedzieć dlaczego tak się dzieje, może któryś z użytkowników tego forum pokaże mi na czym to polega i wszystko mi rozjaśni.

Z góry dzięki za pomoc.

P.S. Nie bijcie za kod. To mój pierwszy większy projekt, i całkowicie pierwszy który wrzucam na git'a. Wszelkie porady, uwagi z chęcią przyjmę.

1

Nie oglądałem kodu libgdx, więc tylko zgaduję. Skoro jest tam używana własna kolekcja biblioteki z własną klasą Iteratora, to być może chodzi o to, żeby unikać alokacji wielu obiektów (w tym przypadku iteratorów) w głównej pętli gry, bo to prowadzi do przycinek przy działaniu GC.

1 użytkowników online, w tym zalogowanych: 0, gości: 1