Use a Stack or List for Transform pooling ?

What the best way to pool transforms, using an Array, List or Stack ?

I know if I use a list I have to check for the next available Transform (deactivated) in the list.

Do stacks always keep the deactivated Transform at the top ready to use and the active ones at the bottom ?

Thanks.

With a stack you normally push newly deactivated items onto the stack and pop them off when you need them. In other words they aren’t in the stack while they are being used. That way stack.Count == 0 says there are no more available. I use this method.

Stack is Fixed index while list is not

List is more Flexible for iterating with index [#]

Stack is more for using

first in last out
first out last in

if you have an array and you want the item in the middle go for List

if its for object pooling like a barrel of a gun go for Stack