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