Что по скорости оптимальнее ArrayList или List<T>

Собственно вопрос в названии темы. Ну и также интересует также, что оптимальнее - коллекция по ключу из пространства System.Collections или типизированная коллекция из System.Collections.Generic ?

Мое мнение такое, что типизированные коллекции работают быстрее, так как там нет приведений объекта типа object в нужный тип, но прав ли я?