I would expect there would be little difference in looping through a New
Collection or Array. Probably a bit slower with a union of range because of
the interaction with the spreadsheet.
However you could think about building an index to the range and then using
vlookup or match to search it. It would take longer for the setup but the
searches might be faster. It depends how dynamic the content is and how many
times you want to evaluate.
I am thinking, if it was a stock list which changed say 500 times a day and
you had to search it 10,000 times a day, you would rebuild the index if an
item reached nil or a nil item was replenished, but each search would just be
a single vlookup or match.