在Delphi XE2中,我需要一个通用的对象堆栈,在这个堆栈中,我的调用代码不仅可以访问顶部(通过Peek),还可以访问Top-1、Top-2等。也许更像是一个"ObjectStackList“。
我还没有发现使用现有的System.Generics.Collections类来实现这一点的简单方法。而且TObjectStack的FItems在TStack中是私有的,因此没有直接的方法来创建可以访问它的TObjectStack后代。
我意识到我可以使用ToArray按索引访问项,但这会创建一个单独的数组,仅仅访问FItems中的单个项似乎是浪费时间和空间。
有什么想法吗?
发布于 2013-09-22 10:01:33
只需使用TObjectList即可。您可以访问所需的所有元素,并且可以在您希望将其视为堆栈顶部的任何端对其进行修改。
https://stackoverflow.com/questions/18938986
复制相似问题