Stacks are highly dynamic. You can insert and remove nodes at will, but stacks are horrible for random access.
Dynamic arrays are great for random access, but inserting or removing a node requires moving a whole lot of data.
Hash tables are also good for random access, but it's not quite like a normal array. If you delete a node, it doesn't automatically 'collapse' the index.
So I'm wondering if there's any sort of class / library available which has a nice balance between dynamicness and random access.