Or you can make a primitive array like you're doing. But FYI, I typically would use a List for what you want to do, and most often I find myself using a LinkedList, although if I need synchronization I might use a Vector. There are plenty of others you can use, and tons of tutorials on Google that explain the rest of the Collections Framework.
That's a lot of reading, so just focus on the bits you need. List is what's called an interface, so you can't make one directly. Instead, you need to use one of the classes that implement it, like LinkedList. Here's the proper way to do it:
These List objects will automatically grow as you add to them, so you don't have to know ahead of time how big to make them. For reasons I won't go into here, it's generally best to declare it as an object of a certain interface rather than the implementing class. If you don't get that sentence, then ignore it.