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;