Arrays and Lists are almost similar but a little different.
Array is a container which can hold a fix number of items and these items should be of the same type.
List are used to store multiple items in a single variable.
Array - Fixed size, as resizing is expensive.
List - It has dynamic size.
Array - Elements are usually shifted, they are inefficient.
List - There is not shifting, hence, efficient.
Array - Random access is suitable, i.e. efficient indexing.
List - It is not suitable for operations requiring accessing elements by index such as sorting.
Array - No memory is wasted if the memory is full or almost full, otherwise the memory is wasted.
List - Since memory is allocated dynamically, there is no wastage.
Array - It is faster, because the elements are in contagious memory locations.
List - It is slower, because the elements are not in contagious memory locations.
Array - It uses binary and linear search.
List - It uses linear search only.
ORDER & SORTING:
Array - Elements are stored consecutively.
List - Elements are stored randomly.