数组:同一类型,固定长度
集合:不同类型,不固定长度
使用集合需引用集合命名空间: 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 Listnames = new List (); 2 names.Add("张三"); 3 names.Add("李四"); 4 names.Add("王五"); 5 names.Add("赵六"); 6 names.Add("孙七"); 7 List jps = new List (); 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("恭喜张三获得了电脑!");