could you explain where the performance problems are in Collections api.
The API is a generic API. It's designed to be acceptable in 95% of the cases. Unfortunatlly with games you spend much of your time in that 5% that isn't "common".
For those of us to cheap to buy a profiler.
Take a look at the source. I looked at the 1.4.1_02 source for this post.
The only direct comparison can be between arrays and ArrayList, which my code is full of. On array list when you don't use iterators is there much difference between pure arrays?
The ArrayList.get(int) and ArrayList.set(int,Object) are pretty close to direct array access. They do an extra range check so the can throw a more friendly ArrayIndexOutOfBoundsException with a meaningful message. They create no garbage.
What are the big performance suckers?
Most ppl complain about Iterators but by following the code paths for ArrayList Iterators I found no sources of garbage but the level of abstraction that an Iterator provides does incur some overhead that could be advoided if you didn't need that flexiability.
When people have bad experiences with things, wrongly or rightly, they hold on to those emotions and won't let go of them without much effort. (Go read the Networking section for examples.) I think in most cases you'll be fine but there are always people who live in that 5% zone, wrongly or rightly, and complain loudly without qualifying their complaint such that other people can correctly interpet their complaint.
I'm not trying to start a flame way with the above. It's just my observations. It should be considered "free advice". (You get what you paid for.