Reason: ArrayList maintains index based system for its elements as it uses array data structure implicitly which makes it faster for searching an element in the list. On the other side LinkedList implements doubly linked list which requires the traversal through all the elements for searching an element.
Does ArrayList maintain the order of insertion?
Yes, ArrayList is an ordered collection and it maintains the insertion order.
Why insertion order is preserved in list?
You want to make sure that you remember what order customers entered the line, so they can be served in that order. In this scenario you would need a collection where insertion order is preserved. The order you inserted the elements can be retrieved by iterating over the elements.