This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The arrays and collection have their own pro and cons. You have outline your requirement in terms of these pros and cons, then the choice becomes very easy. One thing to remember is that there is no absolute anser such as "always use arrays.."
The main reason to use collections is that their size isn't fixed as with arrays. Another advantages are that some containers have some useful behaviour built-in. It would be possible to simulate it with arrays, but it's already there for us. a) when you need an associative array use some kind of Map. b)you need some set operations? use some kind of Set c) you need a stack ? use a LinkedList