C#常用集合总结-2
2010-11-10 23:51 王祖康 阅读(443) 评论(0) 编辑 收藏 举报(3)Stack:表示对象的先进后出的集合。
代码如下:
Stack stack = new Stack();
stack.Push(1);
stack.Push("aaa");
stack.Push(1.11);
foreach (object i in stack)//foreach只是查看元素并没有真正移除元素
{
Console.WriteLine(i);
}
Console.WriteLine("------------");
Console.WriteLine(stack.Peek());//Peek只是查看顶端的元素并没有移除元素
Console.WriteLine("------------");
Console.WriteLine(stack.Pop());//移除了顶端的元素。
Stack<int> st = new Stack<int>();//堆栈泛型。和List<>用法一样。
名称 |
说明 |
Clear |
从 Stack 中移除所有对象。 |
Clone |
创建 Stack 的浅表副本。 |
Contains |
确定某元素是否在 Stack 中。 |
CopyTo |
从指定数组索引开始将 Stack 复制到现有一维 Array 中。 |
GetEnumerator |
返回 Stack 的 IEnumerator。 |
MemberwiseClone |
创建当前 Object 的浅表副本。 |
Peek |
返回位于 Stack 顶部的对象但不将其移除。 |
Pop |
移除并返回位于 Stack 顶部的对象。 |
Push |
将对象插入 Stack 的顶部。 |
Synchronized |
返回 Stack 的同步(线程安全)包装。 |
ToArray |
将 Stack 复制到新数组中。 |
Count |
获取 Stack 中包含的元素数。 |
IsSynchronized |
获取一个值,该值指示是否同步对 Stack 的访问(线程安全)。 |
SyncRoot |
获取可用于同步 Stack 访问的对象。 |
(4)Queue:表示对象的先进先出的集合
代码如下:
Queue q = new Queue();//先进先出
q.Enqueue(1);
q.Enqueue("2");
q.Enqueue(5);
foreach(object i in q)
{
Console.WriteLine(i);
}
Console.WriteLine("----------");
Console.WriteLine(q.Dequeue());
Console.WriteLine("----------");
Queue<string> qu = new Queue<string>();
qu.Enqueue("wzk");
qu.Enqueue("zcy");
foreach (string j in qu)
{
Console.WriteLine(j);
}
Console.WriteLine("----------");
名称 |
说明 |
Clear |
从 Queue 中移除所有对象。 |
Clone |
创建 Queue 的浅表副本。 |
Contains |
确定某元素是否在 Queue 中。 |
CopyTo |
从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。 |
Dequeue |
移除并返回位于 Queue 开始处的对象。 |
Enqueue |
将对象添加到 Queue 的结尾处。 |
GetEnumerator |
返回循环访问 Queue 的枚举数。 |
GetType |
获取当前实例的 Type。 |
MemberwiseClone |
创建当前 Object 的浅表副本。 |
Peek |
返回位于 Queue 开始处的对象但不将其移除。 |
Synchronized |
返回同步的(线程安全)Queue 包装。 |
ToArray |
将 Queue 元素复制到新数组。 |
ToString |
返回表示当前 Object 的 String。 |
TrimToSize |
将容量设置为 Queue 中元素的实际数目。 |
Count |
获取 Queue 中包含的元素数。 |
IsSynchronized |
获取一个值,该值指示是否同步对 Queue 的访问(线程安全)。 |
SyncRoot |
获取可用于同步 Queue 访问的对象。 |