【2017-12-09】c#基础-普通集合、泛型集合、哈希表集合、字典集合、队列集合、栈桥集合

数组:同一类型,固定长度

集合:不同类型,不固定长度

 

使用集合需引用集合命名空间: using System.Collections;

 

普通集合(弱类型集合)

定义:ArrayList  arr = new ArrayList(); 

赋值:arr.Add("值/变量"); -object类型(所有类型的基础类型(基类))

取值:arr[索引]

插队:arr.Insert(索引,值/变量)

移除:arr.Remove(值);

      arr.RemoveAt(索引);

   --慎用,移除后后续索引都发生改变  

反转:arr.Reverse(); - 全部反转

           arr.Reverse(索引,个数); - 指定反转

清空:arr.Clear();

获取个数:arr.Count;

泛型集合(强类型集合)

定义:List<int> slist = new List<int>();

(各操作与普通集合大体相同)

哈希表集合(弱类型集合)

定义:Hashtable hs = new Hashtable();

赋值:hs.Add(键object类型,值object类型)-键值对

取值:hs.Add(键);

(有移除、清空等操作)

字典集合(强类型集合)

定义:Dictionary<int, string> dic = new Dictionary<int, string>();

赋值:hs.Add(键int类型,值string类型)

取值:hs.Add(键);

(有移除、清空等操作)

队列结合(弱类型集合)

定义:Queue q=new Queue();

赋值:q.Enqueue(object类型);

取值:q.Dequeue();-无参数,取第一个进去的

栈桥集合(弱类型集合):

定义:Stack st=new Stack();

赋值:st.Push(object类型);

取值:st.Pop();-无参数,取最后一个进去的

 

练习:

1.简单抽奖过程

 1             List<string> names = new List<string>();
 2             names.Add("张三");
 3             names.Add("李四");
 4             names.Add("王五");
 5             names.Add("赵六");
 6             names.Add("孙七");
 7             List<string> jps = new List<string>();
 8             jps.Add("冰箱");
 9             jps.Add("彩电");
10             jps.Add("洗衣机");
11             jps.Add("电脑");
12             jps.Add("电饭锅");
13 
14             Random r = new Random();
15             for (int i = 0; i < 100; i++)
16             {
17                 Console.Clear();
18                 string name =names[r.Next(0, names.Count)];
19                 string jp = jps[r.Next(0,jps.Count)];
20                 Console.Write("恭喜"+name+"获得了"+jp+"");
21                 System.Threading.Thread.Sleep(100);               
22             }
23             Console.Clear();
24             Console.Write("恭喜张三获得了电脑!");

 

posted @ 2017-12-09 22:19  Int64  阅读(177)  评论(0编辑  收藏  举报