Yes, you can pass an ArrayList<T> object through a method parameter, or contain it as a static member. Both would be fine and you can alter it within each method without the mess of an array.
If you are tracking places within places (which I'm not sure if you are, but you may be. . .) such as a place within a city, than a good option may be to use a Map<String, ArrayList<String>> type. This would let you put on a city name, and have a list of places that can be added or iterated within it.
header('HTTP/1.1 420 Enhance Your Calm');