首先我们简单了解一下什么堆、栈、队列。
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。
栈就是一个容器,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来。(先进后出or后进先出)
队列只能在队头做删除操作,在队尾做插入操作.而栈只能在栈顶做插入和删除操作。(先进先出)
注意:当前展示的是队列(Queue),下一章展示消息队列MQ(Message Queue)
队列(Queue)代表了一个 先进先出 的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。
当您在列表中添加一项,称为 入队 ,当您从列表中移除一项时,称为 出队 。
- 入队 就是在队列的尾部添加数据,队列数据个数加一,尾指针后移;
- 出队 就是在队列的头部取数据,然后删除该数据,头指针后移。
常用的属性&描述
- Count:Count属性返回队列中元素个数。
- Enqueue:Enqueue()方法在队列一端添加一个元素。
- Dequeue:Dequeue()方法在队列的头部读取和删除元素。如果在调用Dequeue()方法时,队列中不再有元素,就抛出一个InvalidOperationException类型的异常。
- Peek:Peek()方法从队列的头部读取一个元素