在开始时高效地收集插入和删除

本文关键字:插入 删除 开始时 高效 | 更新日期: 2023-09-27 17:58:28

对于只在集合开头频繁插入和删除对象的代码,您建议使用什么集合。

这里有一些代码来说明我的要求

while (collection.Count != 0)
{
   object obj = collection[0];
   collection.RemoveAt(0);
   ...
   if (somethingWith(obj))
       collection.Insert(0, anotherObj);
   ...  
}

在0以外的位置没有插入或删除。集合未排序。

你推荐什么?

编辑:

我真的不需要对这些收藏品做任何花哨的事情。集合用于对应该处理的对象进行排队(并且在处理过程中填充集合)。

在开始时高效地收集插入和删除

您似乎只想实现LIFO容器,因此可以使用Stack<T>:

while (stack.Count > 0) {
    object obj = stack.Pop();
    // ...
    if (SomethingWith(obj)) {
        stack.Push(anotherObj);
    }
}