Чем список отличается от массива?

Массив это просто куча элементов одного типа, расположенных в памяти один за другим. Доступ к элементу происходит по индексу.

Доступ к элементу в списке осуществляется путём перебора элементов. поиск может осуществлятся как перебором, так и сравнением элементов. Список имеет ссылки на следующие (double linked list - и предыдущие) элементы.