with regards performance, it matters more what you want to do with the data. They are different things, like a motorcycle and a car. The former is not what you want if you need to transport 4 people.
Depends on what you are doing but don't forget ado recordsets which are a form of collection.
not tested for collections but are you sure you need to use Cstr? yes it will store as text so you need to treat as text going forward, but pretty sure assigning a number to a string will work.
this compiles and runs
Code:
Function teststr(i As Integer)
Dim s As String
s = i
Debug.Print s
End Function
?teststr(4)
4