一:Queue 类简单说明
1)表示对象的先进先出集合。
2)当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
二:Queue 类的构造函数
构造函数 | 构造函数说明 |
---|---|
Hashtable() | 使用默认的初始容量、加载因子、哈希代码提供程序和比较器来初始化 Hashtable 类的新的空实例。 |
Hashtable(IDictionary) | 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认的加载因子、哈希代码提供程序和比较器。 |
Hashtable(IDictionary, IEqualityComparer) | 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认加载因子和指定的 IEqualityComparer 对象。 |
Hashtable(IDictionary, Single) | 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用指定的加载因子、默认哈希代码提供程序和默认比较器。 |
三:Queue 类的属性
属性 | 属性说明 |
---|---|
Count | 获取 Queue 中包含的元素数。 |
IsSynchronized | 获取一个值,该值指示是否同步对 Queue 的访问(线程安全)。 |
SyncRoot | 获取可用于同步对 Queue 的访问的对象。 |
四:Queue 类的方法
属性 | 属性说明 |
---|---|
Clear() | 从 Queue 中移除所有对象。 |
Clone() | 创建 Queue 的浅表副本。 |
Contains(Object) | 确定某元素是否在 Queue 中。 |
Enqueue() | 将对象添加到 Queue 的结尾处。 |
Dequeue() | 移除并返回位于 Queue 开始处的对象(从队列中,取出排在第一位的元素。) |
CopyTo(Array, Int32) | 从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
GetEnumerator() | 返回循环访问 Queue 的枚举数。 |
GetHashCode() | 作为默认哈希函数。 |
GetType() | 获取当前实例的 Type。 |
MemberwiseClone() | 创建当前 Object 的浅表副本。 |
Peek() | 返回位于 Queue 开始处的对象但不将其移除。 |
Synchronized(Queue) | 返回将包装原始队列并且是线程安全的新的 Queue。 |
ToArray() | 将 Queue 元素复制到新数组。 |
ToString() | 返回表示当前对象的字符串。 |
TrimToSize() | 将容量设置为 Queue 中元素的实际数目。 |
1: Queue.Enqueue()和Dequeue() 方法使用举例
1)作用:Enqueue将对象添加到 Queue 的结尾处。Dequeue则是从 Queue 的开始处移除的对象。
2)语法:
public virtual void Enqueue (object obj);
public virtual object Dequeue ();
3)使用举例:
// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");
// 显示队列.
Console.Write("Queue values:");
foreach (Object obj in mySourceQ)
{
Console.Write(" {0}", obj);
}
// 从队列中删除元素.
Console.WriteLine("\r\n(Dequeue)\t{0}", mySourceQ.Dequeue());
// 显示队列.
Console.Write("Queue values:");
foreach (Object obj in mySourceQ)
{
Console.Write(" {0}", obj);
}
4)运行结果:
Queue values: one two three four (Dequeue) one Queue values: two three four |
2: Queue.CopyTo(Array, Int32) 方法使用举例
1)作用:将 Queue 元素复制到指定数组索引开始的一维 Array 中。
2)语法:
public virtual void CopyTo (Array array, int index);
3)使用举例:
// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");
// 创建并初始化一维目标数组.
Array myTargetArray = Array.CreateInstance(typeof(string), 15);
myTargetArray.SetValue("Good", 0);
myTargetArray.SetValue("bad", 1);
myTargetArray.SetValue("yes", 2);
myTargetArray.SetValue("no", 3);
// 将整个源队列复制到目标数组,从索引2开始.
mySourceQ.CopyTo(myTargetArray, 2);
foreach (Object myObj in myTargetArray)
{
Console.Write("{0}{1}", ' ', myObj);
}
4)运行结果:
Good bad one two three four |
3:Queue.ToArray 方法使用举例
1)作用:将 Queue 元素复制到新数组。
2)语法:
public virtual object[] ToArray ();
3)使用举例:文章来源:https://www.toymoban.com/news/detail-423176.html
// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");
// 将整个源队列,复制到新的标准数组中。
Object[] myStandardArray = mySourceQ.ToArray();
foreach (Object myObj in myStandardArray)
{
Console.Write("{0}{1}", ' ', myObj);
}
4)运行结果:文章来源地址https://www.toymoban.com/news/detail-423176.html
one two three four |
到了这里,关于C#的Queue 类使用说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!