C# 四十一、Queue<T>

定义

一、初始化 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 中的实际元素数。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值