Queue 是一种特殊类型的集合,它以 FIFO (先进先出)的方式来存储元素,与 堆栈 Stack
我们可以通过指定类型参数来创建 Queue
static void Main(string[] args)
{
var myQueue = new Queue<int>();
myQueue.Enqueue(1);
myQueue.Enqueue(2);
myQueue.Enqueue(3);
myQueue.Enqueue(4);
foreach (var id in myQueue)
Console.Write(id); //prints 1234
}
下表列出了 Queue 类的一些常用的 属性:
属性 | 描述 |
---|---|
Count | 获取 Queue 中包含的元素个数。 |
下表列出了 Queue 类的一些常用的 方法:
方法名 | 描述 |
---|---|
void Clear(); | 从 Queue 中移除所有的元素。 |
bool Contains(T item); | 判断某个元素是否在 Queue 中。 |
T Dequeue(); | 移除并返回在 Queue 的开头的对象。 |
T Peek() | 返回在 Queue开头的对象,但不移除它。 |
void Enqueue(T item); | 向 Queue 的末尾添加一个对象。 |
T[] ToArray(); | 复制 Queue 到一个新的数组中。 |
void TrimExcess(); | 将容量设置为 List 中的实际元素数目(如果该数目小于某个阈值)。压缩占用的空间了 |
static void Main(string[] args)
{
var myQueue = new Queue<int>(2);
myQueue.Enqueue(1);
myQueue.Enqueue(2);
myQueue.Enqueue(3);
myQueue.Enqueue(4);
var first = myQueue.Dequeue(); //1
var has = myQueue.Contains(2); // true;
foreach (var id in myQueue)
Console.Write(id); //prints 234
var second = myQueue.Peek(); //2 没有移除元素
}