What is the difference between an Array and an Array list in Java?

Below are difference between an Array and an Array list in Java

Point of Distinction Array ArrayList
Contains Value Can not contain value of different data type. Can contain value of different data types.
Size Size must be defined at the time of declaration Size can be dynamically changed
Index Need to specify index in order to add data. No need to specify the index.
Contains Arrays can contain primitive data types as well as objects. Arraylists can contain only objects, no primitive data types are allowed.