Queue是一个表示对象的先进先出的集合,通常用于按接收顺序存储信息领域,以便更好地实现顺序处理。Queue是通过循环数组来实现的,里面的对象总是从一端插入,而从另一端移出。
Queue类的常用属性如表9-7所示。
表9-7 Queue类属性

Queue类常用方法(函数)如表9-8所示。
表9-8 Queue类方法

(续)

其中,Queue的容量是它能够保存的元素数量,其默认初始容量为32。当向Queue添加新元素时,通过重新分配根据需要来自动增大容量,通过TrimToSize来减小容量。
实例36:使用Queue处理列表数据
下面将通过一个简单的实例来说明使用Queue的流程。本实例保存在“光盘:\daima\9”文件夹内,项目名为queueshiyong。本实例的功能是,向列表内添加数据,并将处理后的列表数据输出显示。实例文件的主要代码如下:

上述实例代码的设计流程如下。
1)通过using调用System.Collections类。
2)定义命名空间queueshiyong和Test类。(https://www.xing528.com)
3)通过Queue集合类初始化mm,然后通过方法Enqueue()向mm内添加3个元素。
4)通过属性Count输出数组内的数据个数。
5)通过while语句获取当前数组内的数据。
6)输出显示列表内的当前数据。
执行后将输出显示添加处理后的列表数据,如图9-12所示。在使用Queue集合类时,应该特别注意它的先进先出特性。
多学一招

图9-12 实例执行结果
在C#中,当使用Queue集合类时应该特别注意它的先进先出特性。Queue和ArrayList集合类比较类似,在此笔者对两者进行简要总结。
1)都是集合。
2)都使用Count()属性返回当前集合成员数。
3)先进先出原则。
4)Arraylist用Capacity()属性返回容量,随着成员数的add,Capacity()值会动态增加。
5)Queue没有Capacity()属性,是个堆栈,没有固定的容量。
6)IEnumerable可以使集合类型有foreach()功能,它是一个泛型接口。如IEnumerrable arraylist相当于Arraylist arraylist,但是前者的arraylist就具备了foreach()方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
