List is an interface, ArrayList and LinkedList are two implementation classes, they implement the same way, in fact LinkedList is the real chain list (if not clear what is linked list, need to understand the knowledge of related data structure, this is not one or two words can be said clearly), And ArrayList is implemented by an array, which is not a real linked list, it sets an initial capacity of an array at initialization time, and when there is not enough space, it will reconstruct a larger array and then copy the previous elements.
The fundamental difference between ArrayList and LinkedList is the difference between the two data structures: arrays and lists. Refer to the relevant data structure for more information.
ArrayList: Cons: Memory usage is larger, adding delete elements is less efficient. Element random access is highly efficient.
LinkedList: On the contrary.
ArrayList read fast, LinkedList write fast.
ArrayList and Linklist