ArrayLists are essentially deprecated as they’re untyped – you need to use casts with them – and they’re slower and less space efficient for value types because they require the items to be boxed.
Generic lists were introduced with .Net 2.0 and are the way to go. Often a List is better than an array, with few downsides.
As these collections are part of the .Net Base Class Library, this advice also applies to C# and to any .Net language which supports generics – it’s not specific to VB.NET.