Thanks for the long winded reply Jonathan.I don't know how to avoid using my own linked list, I have next/prev in each class (Ball, Lazer and Mine ) in the list.
That's called intrusive linked list, and I find using it quite viable: zero-allocation O(1) add/removal is a very strong characteristics. They are very useful especially for lock-free algorithms.