zoukankan      html  css  js  c++  java
  • 10-23C#基础--特殊集合(stack、queue、hashtable)

    特殊集合一:stack集合--堆集合

    1、定义:堆集合是集合中一种特殊的类,在Stack中也有许多方法和属性,下面一一列举:

    命名格式:Stack ss=new Stack();

    2、如何添加数据:push(),推,将需要的数据依次输入,一个推一个,进入Stack集合里;

    ss.Push("i");在添加时,括号中需要加双引号,无论是int型还是string型;

    3、如何读取数据:

    运用foreach循环:

      foreach(string s in ss)//foreach根据集合构造,依次获取数据

    {

    Console.Write(s);

    }

    4、在Stack集合里没有索引;

    Console.WriteLine(ss[0]);写中括号是不行的,堆集合没有索引。

    5、属性:统计元素个数

     Console.WriteLine(ss.Count);//count属性,获取元素个数  

     

          

    6、弹出移除数据

      

    7、弹出不移除数据

     string tanchu = ss.Peek().ToString();//只获取最后进去的那个数据值,不移除

    8、清空集合

    ss.Clear();

    9、复制集合

    ss.Clone();

    只能一个一个弹出,没有索引;

    特殊集合二、Queue--队列集合

    1、定义:queue,排队,列队;

    2、如何赋值:一个一个赋值

    3、count属性,计算元素的个数

    4、读取第一个元素,并从集合移除

    5、读取第一个元素,不移除(仍存在集合中)

    6、Contain(包含),判断是否包含某个元素,返回布尔值

     

    特殊集合三、HashTable--哈希表集合

    1、定义://哈希表集合,一个位置包含两个值,一个key,一个values;            

      Hashtable ht = new Hashtable();            

    2、如何赋值:需要自己加索引,加键,在读哈希表时,键值和value值要分开读;//不像数组中带有索引          

    ht.Add(0, "王超");           

    ht.Add(1, "范范");            

    ht.Add(2, "濛哥");            

    ht.Add(3, "雷子");            

    ht.Add(4, "丽丽");            

    ht.Add(5, "祥祥");            

    ht.Add(6, "孙琪");         

    3、  如何取值:

    foreach (int i in ht.Keys)           

      {                

    Console.WriteLine(i);//keys代表键的一个集合,读出的是倒着读出来,先进后出           

      }           

      foreach (string s in ht.Values)           

      {                

    Console.WriteLine(s);//values代表value的一个集合            

    }                    

    Console.ReadLine();

    4、Contains (包含)判断是否包含某个键

     Console.WriteLine( ht.Contains(4));//判断是否包含某个键   

                        

    5、count属性,统计个数

    格式:int geshu = ht.Count;    

    Console.WriteLine(geshu );       

           

     6、清空数据

    ht.Clear();      

     7、移除数据

    //remove移除,移除的是键的元素            

    // ht.Remove(4);//按照括号内的key值,移除key值和value  

      

    8、 没有索引,不能重复添加key;例:  ht.Add(4, "丽丽");//键值(相当于索引),不能重复添加key;     

     9、  枚举类型:如何将key值和value值一块输出             

    IDictionaryEnumerator ide = ht.GetEnumerator();            

    while (ide.MoveNext())//返回bool值           

      {               

      Console.WriteLine(ide.Key+" "+ide.Value);            

    }            

    Console.ReadLine();

    结语:指针问题

    Stack:出口即入口,倒着走,先进后出

    Queue:先进先出,

    Hashtable:先进后出,入口即出口,movenext:下移

    下图比较直观的反映出“先进后出”:

     

  • 相关阅读:
    [转] 疯狂的JSONP
    [转] ASP.NET MVC 模型绑定的功能和问题
    【JavaScript 从零开始】变量作用域
    【JavaScript 从零开始】 原始值和对象引用、类型转换
    【JavaScript 从零开始】 数字 文本 包装对象
    【JavaScript 从零开始】 语言核心部分----可选的分号
    解决 Jquery UI Tooltip 用在Select 的BUG
    大前端工具集
    前端知识体系2
    前端知识体系
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4045440.html
Copyright © 2011-2022 走看看