An array is a container object that holds a fixed number of values of a single type. The length of an array is established when the array is created.

An ArrayList is a dynamic data structure, meaning items can be added and removed from the list. A normal array in java is a static data structure, because you stuck with the initial size of your array.