码迷,mamicode.com
首页 > 其他好文 > 详细

集合( Stack / Queue / Hashtable 都没有索引)

时间:2014-10-23 14:12:38      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   for   strong   sp   数据   on   cti   

    /*   // 集合     Stack         没有索引!"好比是死胡同"

            Stack s=new Stack ();       //特殊集合  堆!先进后出,后进先出

               s.Push("1");                //赋值内容  要用     “”  

           s.Push("2");

            s.Push("3");

            s.Push("4");

            s.Push("5");

           // Console.WriteLine(s.[2]);      无法用索引[]

            foreach (string a in s)          //根据集合的构造,依次获取数据!//要想读取集合,要用foreach()

                { Console.WriteLine(a); }

            Stack fuzhi = (Stack)s.Clone();  //复制Stack集合s

            string tanchu = s.Pop().ToString();   //弹出并移除,集合里最后一个添加的字符。注意书写()格式!

          string chakan= s.Peek().ToString();   //读取但是不移除,最后一个添加的元素,!

         //   s.Clear();                       //表示清空集合! 

                Console.WriteLine(s.Count);     //返回int值,获取集合中元素   个数

         //   Console.WriteLine(s[1]);             //此时无法读取集合中的元素。Stack没有索引

            Console.ReadLine();*/     

      

       /* //   队列    queue   ,没有索引       “排队付账

            Queue q = new Queue();  //只能先进先出,排队!

            q.Enqueue(3);

            q.Enqueue(4);

            q.Enqueue(8);

            q.Enqueue(2);

         // int b=q[2];                      queue   没有索引,不能用[]取集合中的元素!

            foreach (int a in q)

            { Console.WriteLine(a); }  

               int zhi = int.Parse(q.Peek().ToString());         //只读取排队的第一个元素,不移除!

               Console.WriteLine(zhi);

            bool c = q.Contains(8);                           // 判断Queue集合中  是否  包含元素  8

            Console.WriteLine(c);                             //要有输出,才能显示.    Ture   or   Flase

           int yichu = int.Parse(q.Dequeue ().ToString());    //移除排队的第一个元素 "delect queue"

           Console.WriteLine(yichu);                              //此时,这里输出是  3

           Console.WriteLine("下面是新queue集合   h  : ");

           Queue h = q;

           foreach (int d in h)

           { Console.Write(d); }                              //此时已经移除了q中第一个元素    3 

              Console.ReadLine();   */

     

         // Hashtable          哈希表包含 keys 和 values。没有索引!

          Hashtable h=new Hashtable ();    //没有索引不能用 [] 引用,前面数字可以随便写

          h.Add(0,"王超");//向哈希表里添加元素!            h.Add(1,"范磊");                        h.Add(2,"王濛");           h.Add(3,"王雷雷");           h.Add(4,"田园青");           h.Add(5,"刘春丽");           h.Add(6,"孙琪");           h.Add(7,"孟享祥");           h.Add(8,"朱晓璞");

          IDictionaryEnumerator ide = h.GetEnumerator();

          while (ide.MoveNext())

           {

               Console.WriteLine(ide.Key+"  "+ide.Value);    //这样输出‘ 0    王超 ’,依次输出。           

          }

 

          ArrayList aa = new ArrayList();

          foreach (int  a in h.Keys)    //注意读取表达格式。h.Keys / Values

          {

              Console.WriteLine("h集合中的:" + a);      //分开读取,好比两个  Stack  集合!先入后出!

           aa.Add(a );

          }

          foreach (int f in aa)

          {    Console.WriteLine("aa集合中的:" + f);     }  //这里是打印ArrayList集合  aa    

      

          ArrayList aaa = new ArrayList();

          foreach (string b in h.Values )

          {

              Console.WriteLine("h集合中的:"+b);

              aaa.Add(b);                        //输的内容是和Hashtable输出values内容一直

          }

          foreach (string  r in aaa)          //foreach列举时,一定要保证元素类型一致!string

          {               Console.WriteLine("aaa集合中的:" + r);           }

          h.Remove(4);                         //移除。   按照()内的keys值移除。这里移除的是(4,田园青)!

         Console.WriteLine(h.Contains(66));    //    判断是否包含66的 keys 键 ,返回bool值。 

          int geshu = h.Count;                 //Hashtable   元素个数

          Console.WriteLine("元素个数:"+geshu);

        // h.Clear();                              //清空Hashtable  

          Hashtable hh = h;

          foreach (int f in hh.Keys)         //注意读取表达格式。    h.Keys / Values

          {          Console.WriteLine(f);  //分开读取,好比两个  Stack  集合!先入后出!           }

          foreach (string j in hh.Values)

          {               Console.WriteLine(j);           }  

                 Console.ReadLine();

集合( Stack / Queue / Hashtable 都没有索引)

标签:io   os   ar   for   strong   sp   数据   on   cti   

原文地址:http://www.cnblogs.com/huaze/p/4045578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!