(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
访问的对象。
|
本文转自 王祖康 51CTO博客,原文链接:http://blog.51cto.com/wzk89/420379
,如需转载请自行联系原作者