c# 中的集合

namespace List
{
    class Program
    {
        static void Main(string[] args)
        {

             SortedList sl = new SortedList();
            sl["c"] = 41;
            sl["a"] = 42;
            sl["d"] = 11;
            sl["b"] = 13;


            //使用指定的键和值初始化 System.Collections.DictionaryEntry 类型的实例。

            foreach (DictionaryEntry element in sl)
           {
                string s = (string)element.Key;
                int i = (int)element.Value;
                Console.WriteLine("{0},{1}",s,i);
            }

 


        }

        private static void Queue()
        {
            //队列
            Queue qu = new Queue();
            Queue qu2 = new Queue();
            foreach (int i in new int[4] { 1, 2, 3, 4 })
            {
                qu.Enqueue(i);//将对象添加到 System.Collections.Queue 的结尾处。
                qu2.Enqueue(i);
            }

            foreach (int i in qu)
            {
                Console.WriteLine(i);//遍历
            }

            qu.Dequeue();
            Console.WriteLine("Dequeue");
            foreach (int i in qu)
            {
                Console.WriteLine(i);
            }

            qu2.Peek();//弹出最后一项不删除
            Console.WriteLine("Peek");
            foreach (int i in qu2)
            {
                Console.WriteLine(i);
            }

            while (qu2.Count != 0)
            {
                int i = (int)qu2.Dequeue();//清空
                qu2.Dequeue();//清空
            }
            Console.WriteLine("清空");
            foreach (int i in qu2)
            {
                Console.WriteLine(i);
            }


        }

        /*  堆栈    */
        private static void Stack()
        {
            Stack sk = new Stack();
            Stack sk2 = new Stack();
            foreach (int i in new int[4] { 1, 2, 3, 4 })
            {
                sk.Push(i);//填充
                sk2.Push(i);


            }

            foreach (int i in sk)
            {
                Console.WriteLine(i);//遍历
            }

            sk.Pop();


            Console.WriteLine("Pop");
            foreach (int i in sk)
            {
                Console.WriteLine(i);
            }

            sk2.Peek();//弹出最后一项不删除//清清月儿 http://blog.csdn.net/21aspnet/
            Console.WriteLine("Peek");
            foreach (int i in sk2)
            {
                Console.WriteLine(i);
            }

            while (sk2.Count != 0)
            {
                int i = (int)sk2.Pop();//清空
                sk2.Pop();//清空
            }
            Console.WriteLine("清空");
            foreach (int i in sk2)
            {
                Console.WriteLine(i);
            }
        }

        /* ArryList 集合 */
        private static void ArryList()
        {
            ArrayList al = new ArrayList();
            al.Add(100);//单个添加

            foreach (int number in new int[6] { 9, 3, 7, 2, 4, 8 })
            {
                al.Add(number);//集体添加方法一//清清月儿 http://blog.csdn.net/21aspnet/
            }


            int[] number2 = new int[2] { 11, 12 };

            al.AddRange(number2);//集体添加方法二

            foreach (int tatel in number2)
            {


                Console.WriteLine(tatel);


            }

            Console.WriteLine();
            Console.ReadLine();

 

            al.Remove(3);    //移除值为3的
            al.RemoveAt(3);  //移除第3个
            ArrayList al2 = new ArrayList(al.GetRange(1, 3));//新ArrayList只取旧ArrayList一部份


            Console.WriteLine("遍历方法一:");
            foreach (int i in al)//不要强制转换
            {
                Console.WriteLine(i);//遍历方法一
            }

            Console.WriteLine("遍历方法二:");
            for (int i = 0; i != al2.Count; i++)//数组是length
            {
                int number = (int)al2[i];//一定要强制转换
                Console.WriteLine(number);//遍历方法二

            }

        }
    }
}

posted @ 2009-05-30 13:24  jackyong  阅读(200)  评论(0编辑  收藏  举报