Queue
队列(Queue)是其元素以先进先出的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等待处理的线程…………
Queue的声明声明一个队列要用关键字 Queue。其语法格式与类的声明相同。
Queue queue=new Queue(); //声明queue
Queue的属性
Queue常用的属性有Count,其中:Count是获取Queue中的元素个数。
Queue queue=new Queue();
queue.Enqueue(12); //向queue中增加数据.
queue.Enqueue(12);
int count=queue.Count; //count这时的值为2.
Queue的方法
C#为我们提供了一些操作Queue常用的方法如下表:
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear(); 从 Queue 中移除所有的元素。 |
2 | public virtual bool Contains( object obj ); 判断某个元素是否在 Queue 中。 |
3 | public virtual object Dequeue(); 移除并返回在 Queue 的开头的对象。 |
4 | public virtual void Enqueue( object obj ); 向 Queue 的末尾添加一个对象。 |
5 | public virtual object[] ToArray(); 复制 Queue 到一个新的数组中。 |
6 | public virtual void TrimToSize(); 设置容量为 Queue 中元素的实际个数。 |
using System;
using System.Collections;
namespace CollectionsApplication
{
class Program
{
static void Main(string[] args)
{
Queue q = new Queue();
q.Enqueue('A'); // 增加元素
q.Enqueue('M');
q.Enqueue('G');
q.Enqueue('W');
Console.WriteLine("Current queue: "); // A M G W
foreach (char c in q)
Console.Write(c + " ");
Console.WriteLine();
q.Enqueue('V');
q.Enqueue('H');
Console.WriteLine("Current queue: "); // A M G W V H
foreach (char c in q)
Console.Write(c + " ");
Console.WriteLine();
Console.WriteLine("Removing some values ");
char ch = (char)q.Dequeue(); //移除元素
Console.WriteLine("The removed value: {0}", ch); // A
ch = (char)q.Dequeue();
Console.WriteLine("The removed value: {0}", ch); // M
}
}
}