Array is collection of homogeneous elements.
List is collection of heterogeneous elements.
For Array memory allocated is static and continuous.
For List memory allocated is dynamic and Random.
Array: User need not have to keep in track of next memory allocation.
List: User has to keep in Track of next location where memory is allocated.
Array uses direct access of stored members, list uses sequencial access for members.
//With Array you have direct access to memory position 5
Object x = a; // x takes directly a reference to 5th element of array
//With the list you have to cross all previous nodes in order to get the 5th node:
for( it = list.begin() ; it != list.end() ; it++ )
x = *it;