C#集合-队列
2011-04-28 12:49
267 查看
队列是其元素以先进先出(FIFO)的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等]处理的线程。另外,还常常有元素根据其优先级来处理的队列。例如,在机场的队列中,商务舱乘客的处理要优先于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。在机场,这是很常见的,因为商务舱乘客和经济舱乘客有不同的登记队列。打印队列和线程也是这样。可以为一组队列建立一个数组,数组中的一项代表一个优先级。在每个数组项中,都有一个队列,其处理按照的方式进行。
#region 队列测试 /// <summary> /// 队列测试 /// </summary> public class TestQueue { public void TestQueueMethod() { Queue<string> strList = new Queue<string>(); ///向队列加入元素 strList.Enqueue("阳光"); strList.Enqueue("水"); strList.Enqueue("空气"); ///遍历元素 foreach (var item in strList) { Console.WriteLine(item); } ///队长长度 Console.WriteLine(strList.Count); ////取出最先加进去的元素,并删除,充分体现队列的先进先出的特性 ///如队列中无元素,则会引发异常 //string mes = strList.Dequeue(); //Console.WriteLine(mes); /////取出这个元素后,遍历队列 ///// //foreach (var item in strList) //{ // Console.WriteLine(item); //} ///取出最先入队的元素,但并不删除 string mes = strList.Peek(); Console.WriteLine(mes); ///遍历队列,仍为三个元素 /// foreach (var item in strList) { Console.WriteLine(item); } ///直接获得队列中的某个元素, ///如果索引越界,会引发异常 string s = strList.ElementAt(1); Console.WriteLine(s); ///直接获得队列中的某个元素, ///如果索引越界,则会返回null,但不引发异常 Console.WriteLine( strList.ElementAtOrDefault(5)); } } #endregion
相关文章推荐
- C#中队列集合的用法,配合线程
- C#集合类:动态数组、队列、栈、哈希表、字典
- C#集合之队列
- C#集合-队列
- C#基础之 集合-队列
- 利用C#队列集合(Queue)写的一个算法
- c#基础知识---集合之队列
- JACK_C#_集合之栈和队列
- C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。
- c#集合之二队列
- C# 队列集合的使用
- lwj_C#_集合stack栈和queue队列
- C#基础之 集合-队列
- C# 同步/并发队列ConcurrentQueue (表示线程安全的先进先出 (FIFO) 集合)
- c#中 各种 集合 总结
- [转载]C#中字典集合的两种遍历
- C#集合
- C#集合类(HashTable, Dictionary, ArrayList)与HashTable线程安全
- c#基础语言编程-集合
- C#(ASP.Net)获取当前路径的方法集合