我正在编写一个应用程序,我希望实现一个对象数组,它会定期添加一个新项目.
我总是想知道添加的最后一个对象是什么,并且正在考虑将该对象放在位置0(因此将每个项目按下一个索引到最多130个项目)
使用List使用它很容易实现
items.Insert(0,new item());
items.RemoveAt(130);
Run Code Online (Sandbox Code Playgroud)
然后将自动按下每个项目并在130处移除该项目,但这对于数组来说并不是那么简单
我最初想到的地方
for(int i = 129; i>0;i--)
{
items[i] = items[i-1];
}
items[0] = new item();
Run Code Online (Sandbox Code Playgroud)
然后,这允许我简单地访问最新项目(通过索引[0]),并按创建顺序访问每个前面的项目(1 - > 129);
现在本身就相当简单,我想知道是否还有其他方法可以执行此操作.
编辑:感谢您的快速回复,
我已经对此进行了一些测试(使用了100万次迭代),看起来队列方法在这里是最快的,但只是稍微一点,然后列表然后数组花费了大约50%的时间来处理100万个项目
我想我将探索队列堆栈选项
再次感谢;