Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
I think that the array list version is easier to read and in general a collection is going to be easier to work with in Java.
The requirements don't mention that speed or memory are limited, so I didn't try to optimize my code for that. I think that in general best practices would say write the most readable and resuable code and if performance becomes an issue use a tool (profiler) to identify slow points (since the optimizer might actually correct something you assume is a problem).
Yes, since the string isn't being built in a loop, it is equivilent to using string concatenation. I prefer to use the string builder (and think it is as easy to read).