The short answer is arrays have a set size you define where as an arraylist has infinite size. You’ll learn a lot about them from the api
https://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Array.html
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
solved Difference between ArrayList and Array of object [duplicate]