代码改变世界

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 访问的对象。