ArrayLists, по сути, устарели, так как они не типизированы - вам нужно использовать приведения с ними - и они медленнее и менее эффективны для типов значений, поскольку требуют, чтобы элементы были упакованы.
Общие списки были введены в .Net 2.0 и являются подходящим вариантом. Часто список лучше, чем массив, с небольшими недостатками.
Поскольку эти коллекции являются частью библиотеки базовых классов .Net, этот совет также применим к C # и к любому языку .Net, поддерживающему дженерики - он не относится только к VB.NET.