简介
集合,可以实现对象的先进先出。
构造函数
Queue<>()
不使用参数创建Queue对象
Queue<>(ICollection col)
使用数组col来创建Queue对象
常用属性
Count
获取 Queue 中包含的元素数。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
Console.WriteLine("strQue对象的元素数为:"+strQue.Count);
Console.ReadKey();
}
运行结果:
strQue对象的元素数为:7
常用方法
Clear()
从Queue中移除所有对象。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
Console.WriteLine("strQue对象的元素数为:" + strQue.Count);
strQue.Clear();
Console.WriteLine("strQue对象的元素数为:" + strQue.Count);
Console.ReadKey();
}
运行结果:
strQue对象的元素数为:7
strQue对象的元素数为:0
Contains(object)
判断元素是否在queue中,是,返回true,否,返回false。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
bool flag1=strQue.Contains("monday");
bool flag2 = strQue.Contains("hello");
Console.WriteLine("flag1="+flag1);
Console.WriteLine("flag2=" + flag2);
Console.ReadKey();
}
运行结果:
flag1=True
flag2=False
CopyTo(Array array,Int32 index)
将queue从index开始的元素复制到array中。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
string[] array =new string[strQue.Count];
strQue.CopyTo(array, 0);
foreach (var item in array)
{
Console.WriteLine("item="+item);
}
Console.ReadKey();
}
运行结果:
item=monday
item=tuesday
item=wednesday
item=thursday
item=friday
item=saturday
item=sunday
Dequeue()
移除并返回位于Queue开始处的对象。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
string dequeObj=strQue.Dequeue();
Console.WriteLine("dequeObj="+dequeObj);
Console.WriteLine("----------------------------");
Console.WriteLine("queue剩下的元素有:");
foreach (var item in strQue)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
运行结果:
dequeObj=monday
----------------------------
queue剩下的元素有:
tuesday
wednesday
thursday
friday
saturday
sunday
Enqueue(object obj)
将对象obj添加到queue的结尾。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
strQue.Enqueue("hello");
Console.WriteLine("----------------------------");
Console.WriteLine("queue剩下的元素有:");
foreach (var item in strQue)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
运行结果:
----------------------------
queue剩下的元素有:
monday
tuesday
wednesday
thursday
friday
saturday
sunday
hello
Peek()
与Dequeue()功能类似,但不移除获取的对象。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue= new Queue<string>(strArray);
string peekObj = strQue.Peek();
Console.WriteLine("peekObj=" + peekObj);
Console.WriteLine("----------------------------");
Console.WriteLine("queue剩下的元素有:");
foreach (var item in strQue)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
运行结果:
peekObj=monday
----------------------------
queue剩下的元素有:
monday
tuesday
wednesday
thursday
friday
saturday
sunday
ToArray()
与CopyTo()功能类似,但不能指定起始元素,只能将queue的所有元素都赋给array。
static void Main(string[] args)
{
string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
Queue<string> strQue = new Queue<string>(strArray);
string[] array = new string[strQue.Count];
array=strQue.ToArray();
foreach (var item in array)
{
Console.WriteLine("item=" + item);
}
Console.ReadKey();
}
运行结果:
item=monday
item=tuesday
item=wednesday
item=thursday
item=friday
item=saturday
item=sunday