检索 04 --Stack栈 Queue队列 Hashtable哈希表

            //Stack 先进后出 没有索引
            Stack st = new Stack();
            st.Push(12);
            st.Push(11);
            st.Push(22);
            st.Push(34);
            st.Push(56);//从栈顶部插入 56应该在栈的最上部
            Console.WriteLine(st.Peek());//st.Peek(); 返回栈的顶部数据 但是不移除   56
            Console.WriteLine(st.Pop());//st.Pop(); 移除并返回栈的顶部数据值   56
            object[] arr1 = (object[])st.ToArray();//可以转换为数组 值从顶部向下部取
            foreach (int i in arr1)
            {
                Console.Write(i + " ");//遍历 为 34 22 11 12
            }
            Console.ReadLine();
            //Queue 先进先出
            Queue qu = new Queue();
            qu.Enqueue(12);//添加数据 12应该位于队列开始处
            qu.Enqueue(34);
            qu.Enqueue(56);
            qu.Enqueue(78);
            Console.WriteLine(qu.Peek());//qu.Peek(); 返回开始处的对象 但不移除  12
            Console.WriteLine(qu.Dequeue());//qu.Dequeue(); 返回开始处对象 但是会移除  12
            Object[] arr2 = (object[])qu.ToArray(); //转换为数组 值从队列开始取
            foreach (int i in arr2)
            {
                Console.Write(i + " ");//遍历结果为 34 56 78
            }
            Console.ReadLine();

 

            //Hashtable 以键 值 成对读取数组,可以自己设置索引
            Hashtable ht = new Hashtable();
            ht.Add(1, "tiger");//任意类型的key键 任意类型的value值
            ht.Add(2, "lion");
            ht.Add(3, "monkey");

 

posted @ 2015-08-10 23:14  WhyToHow  阅读(204)  评论(0编辑  收藏  举报