Lets first understand what ate these two
Array: Simple fixed sized arrays that we create in Java, like below
int arr = new int
ArrayList : Dynamic sized arrays in Java that implement List interface.
ArrayList<Type> arrL = new ArrayList<Type>();
Here Type is the type of elements in ArrayList to be created
Now coming to your problem should be we use Array and ArrayList, It depends on the context if we know the max-size before hand we should use Array and if we don't then we should use ArrayList.