C#queue队列总结

来源:互联网 发布:linux查看进程id 编辑:程序博客网 时间:2024/05/01 01:25

队列(Queue)在程序设计中扮演者重要的角色,因为它可以模拟队列数据操作。例如,排队买票就是一个队列的操作,后来的人排在后面,先来的人排在前面,并且买票请求先被处理。为了模拟队列的操作,Queue在ArrayList的基础上加了以下限制

1.元素采用先进先出机制(FIFO,First in First out),也就是说先进队列的元素必须先出队列。最先进入订单元素称为队头元素,用指针front表示,向队列中插入新的元素称为进队入队,不允许在中间的某个位置插入,也就是说不支持ArrayList中的Insert方法。

2.只有队头的元素才能被删除(称为出队),不允许直接对队列中的非队头元素进行删除,从而保证FIFO机制。也就是说不支持ArrayList的Remove方法。

3.不允许直接对队列中非队列头元素进行访问。也就是说支持ArrayList中的索引访问,只允许便利访问


Queue.Enqueue(object):向Queue中入队一个对象元素。

Queue.Dequeue():从Queue中出队一个对象元素,并将这个元素返回。


ArrayList数组的定义和用法

1、什么是ArrayList
    ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:

  • 动态的增加和减少元素
  • 实现了ICollection和IList接口
  • 灵活的设置数组的大小
2.ArrayList数组的一些重要方法

  Add方法用于添加一个元素到当前列表的末尾

  AddRange方法用于添加一批元素到当前列表的末尾

  Remove方法用于删除一个元素,通过元素本身的引用来删除

  RemoveAt方法用于删除一个元素,通过索引的值来删除

  RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量进行删除

  Insert用于添加一个元素到指定位置,列表后面的元素依次向后移动

  InsertRange用于指定位置开始添加一批元素,列表后面的元素依次向后移动

  Clear方法用于清除现有所有的元素

  Contains方法用来查找某个对象在不在列表之中

ToArray方法:这个方法把ArrayList的元素Copy到一个新的数组中。



0 0
原创粉丝点击