定义
一、初始化 System.Collections.Generic.Queue`1 类的新实例,该实例为空并且具有默认初始容量。
Queue<数据类型> 标识符 = new Queue<数据类型>();
二、初始化 System.Collections.Generic.Queue`1 类的新实例,该实例为空并且具有指定的初始容量。
QueuQueue<数据类型> 标识符 = new Queue<数据类型>(指定的初始容量);
三、初始化 System.Collections.Generic.Queue`1 类的新实例,该实例包含从指定集合复制的元素并且具有足够的容量来容纳所复制的元素。
QuQueuQueue<数据类型> 标识符 = new Queue<数据类型>(元素被复制的源集合);
Queue<T> 类的一些常用的属性
public virtual int Count { get; }
官方摘要:获取 System.Collections.Generic.Queue`1 中包含的元素数。
返回结果:System.Collections.Generic.Queue`1 中包含的元素数。
简单理解:获取包含的元素个数。
代码示例:
Queue<string> queue = new Queue<string>();
Console.WriteLine(queue.Count);
--->
0
Queue<T> 类的一些常用的方法
public void Enqueue(T item);
官方摘要:将对象添加到 System.Collections.Generic.Queue`1 的结尾处。
参数说明:
- obj:要添加到 System.Collections.Generic.Queue`1的对象。对于引用类型,该值可以为 null。
简单理解:将元素添加到结尾。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
foreach (var item in queue)
{
Console.WriteLine(item);
}
--->
aa
bb
cc
public virtual void Clear();
官方摘要:从 System.Collections.Generic.Queue`1 中移除所有对象。
简单理解:从 Queue 中移除所有的元素。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Clear();
queue.Enqueue("cc");
foreach (var item in queue)
{
Console.WriteLine(item);
}
--->
cc
public bool Contains(T item);
官方摘要:确定某元素是否在 System.Collections.Generic.Queue`1 中。
参数说明:
- item:要在 System.Collections.Generic.Queue`1 中定位的对象。 对于引用类型,该值可以为 null。
返回结果:如果在System.Collections.Generic.Queue`1中找到 obj,则为true ;否则为 false。
简单理解:判断某个元素是否在 Queue 中。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
Console.WriteLine(queue.Contains("bb"));
--->
True
public void CopyTo(T[] array, int arrayIndex);
官方摘要:从指定数组索引开始将 System.Collections.Generic.Queue`1 元素复制到现有一维 System.Array 中。
参数说明:
- array:一维 System.Array,是从 System.Collections.Generic.Queue`1 复制的元素的目标。 System.Array 必须具有从零开始的索引。
- arrayIndex:array 中从零开始的索引,从此处开始复制。
简单理解:将 Queue 中元素复制到数组。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
string[] arr = new string[3];
queue.CopyTo(arr, 0);
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
aa
bb
cc
public T Dequeue();
官方摘要:移除并返回位于 System.Collections.Generic.Queue`1 开始处的对象。
返回结果:从System.Collections.Generic.Queue`1 的开始处移除的对象。
简单理解:移除并返回在 Queue 的开头的对象。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
Console.WriteLine(queue.Dequeue());
foreach (var item in queue)
{
Console.WriteLine(item);
}
--->
aa
bb
cc
public T Peek();
官方摘要:返回位于 System.Collections.Generic.Queue`1 开始处的对象但不将其移除。
返回结果:位于System.Collections.Generic.Queue`1 的开头的对象。
简单理解:返回在 Queue 的开头的对象,不移除。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
Console.WriteLine(queue.Peek());
foreach (var item in queue)
{
Console.WriteLine(item);
}
--->
aa
aa
bb
cc
public T[] ToArray();
官方摘要:将System.Collections.Generic.Queue`1 元素复制到新数组。
返回结果:新数组,包含从System.Collections.Generic.Queue`1 复制的元素。
简单理解:复制 Queue 到一个新的数组中。
代码示例:
Queue<string> queue = new Queue<string>();
queue.Enqueue("aa");
queue.Enqueue("bb");
queue.Enqueue("cc");
string[] arr = queue.ToArray();
foreach (var item in arr)
{
Console.WriteLine(item);
}
--->
aa
bb
cc
public void TrimExcess();
官方摘要:如果元素数小于当前容量的 90%,将容量设置为 System.Collections.Generic.Queue`1 中的实际元素数。