📄️ ArrayList
ArrayList is a data structure that use the serialize memory to store data. So we can easily to use index to find the data with constant time complexity which is O(1). In contrast, if we want to delete or insert the new data in the middle of the collection, we have to shift the rest of data to the left or right, which is cost O(n) to do that.
📄️ LinkedList
LinkedList is another list type. It use next property as a pointer to reference the the next stored data. The benefit of this data structure is when insert or delete data is a little efficient than ArrayList, because we just need to find the target element and change the next pointer. There is no need to iterate through the rest of the data and shift them to left or right, but if we need to search the certain data, we have to go through it from the head element which will cause O(n) complexity.