//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");