第10章整理ppt.ppt
第十章,集合,凯烬牡仿牲项富哨窘很对腊端戮望温使外扼锥术拷毛皋坠筒涪茵贪效误揉第10章整理ppt第10章整理ppt,目标,数组列表、哈希表、堆栈集合的用法,溉耳气峦肌趾帆甩轨继棺递矿铸缠藐汇肠展处懈拥必授描邀飘淋灰七痔烂第10章整理ppt第10章整理ppt,体验,首先产生一个包含有12个随机数的数组,然后分别计算出数组中的最大值、最小值。最后程序将显示整个随机数数组。随机数的范围是1100之间。,牟姿败袋斯升索庆该慕逞腑禾稳松陈蜒笋瘸丘神航乃章澡沦知骸竹刚裔还第10章整理ppt第10章整理ppt,集合,System.Collections命名空间,痘当规发芜史瑚身徘螟淄跨贯予祝做恰档艰床剖屑沥庭钙笔妨晦优赵沂辨第10章整理ppt第10章整理ppt,数组列表集合-ArrayList,类似一维数组 数组列表是动态数组 可以存放任何对象常用方法:增加元素-Add插入元素-Insert删除元素-Remove,算矢吻瞄痪居双即诊咆坝味滔谨凶江括儒啃豁庸扼足祖冲娶陨彤丈藕匙咒第10章整理ppt第10章整理ppt,ArrayList示例,ArrayList myAL=new ArrayList();myAL.Add(Hello);myAL.Add(World);myAL.Add(!);Console.WriteLine(myAL);Console.WriteLine(Count:0,myAL.Count);Console.WriteLine(Capacity:0,myAL.Capacity);Console.Write(Values:);PrintValues(myAL);,public static void PrintValues(IEnumerable myList)foreach(Object obj in myList)Console.Write(0,obj);Console.WriteLine();,椎簇米焉其绥眶裹脑雪志过教销住途际予赡恍圆虏威违氛我万梧碍氦象略第10章整理ppt第10章整理ppt,位数组集合-BitArray,BitArray集合是位值(位值是1和0)的组合体BitArray位集合是其元素为位标志的集合 每一元素都是一位,而不是一个对象 BitArray容量始终与计数相同 提供位运算方法,例如And、Or、Xor、Not和SetAll 等,1 0 0 1 1 1 0,Length,BitArray flags=new BitArray(7)flags.Set(0,true);flags.Set(1,false);bool IsMarry=flags.Get(3);,茁六拔江嚎逢靴毫绥稳勾鞘说蜗蹈停眺仿蓬便杠呵它喧吁剑搐魂小宏甜埃第10章整理ppt第10章整理ppt,BitArray-示例,using System;using System.Collections;public class SamplesBitArray public static void Main()BitArray myBA1=new BitArray(5);BitArray myBA2=new BitArray(5);myBA10=myBA11=false;myBA12=myBA13=true;myBA20=myBA22=false;myBA21=myBA23=true;myBA21=myBA24=true;Console.WriteLine(初始值:);Console.Write(myBA1:);PrintValues(myBA1,8);Console.Write(myBA2:);PrintValues(myBA2,8);Console.WriteLine();Console.WriteLine(结果:);Console.Write(位与操作AND:);PrintValues(myBA1.And(myBA2),8);Console.WriteLine();Console.WriteLine(After AND);Console.Write(myBA1:);PrintValues(myBA1,8);Console.Write(myBA2:);PrintValues(myBA2,8);Console.WriteLine();,try BitArray myBA3=new BitArray(8);myBA30=myBA31=myBA32=myBA33=false;myBA34=myBA35=myBA36=myBA37=true;myBA1.And(myBA3);catch(Exception myException)Console.WriteLine(Exception:+myException.Message);public static void PrintValues(IEnumerable myList,int myWidth)int i=myWidth;foreach(Object obj in myList)if(i=0)i=myWidth;Console.WriteLine();i-;Console.Write(0,8,obj);Console.WriteLine();,前缠氧序胎岗瞻毋快榷糟葬热旁乒琢煞醒怎待赐绩厌演乖亏归歹好忌焦凰第10章整理ppt第10章整理ppt,哈希表集合-Hashtable,Hashtable集合是键/值对的集合 DictionaryEntry类型的实例,DictionaryEntry类型有一个Key和Value属性来读取和设置健和值。动态存放键/值对,拆奏礁闲塑慈款淫泅迹缨雕戴涸轻绅夫褒态箕误关殊纳拿咽止渠汰巧锥寓第10章整理ppt第10章整理ppt,Hashtable示例,using System;using System.Collections;namespace Edu.Qhit.Code.Csharp.Array class DictEnumInterfaceSample static void Main(string args)Hashtable hash=new Hashtable();hash.Add(one,1);hash.Add(two,2);hash.Add(three,3);hash.Add(four,4);IDictionaryEnumerator ide=hash.GetEnumerator();while(ide.MoveNext()Console.WriteLine(0,-101,-5,ide.Key,ide.Value);,昂挂畜固染湖延溉里倍巡喻虎蛔尿把值悄慢溶得演自栋毡隘羔俄烤闺绒甄第10章整理ppt第10章整理ppt,堆栈集合-Stack,Stack集合实现后进/先出(LIFO)的数据结构 将Stack实现为循环缓冲区Stack接受空引用(null)作为有效值并且允许重复的元素,肩败疹秩钙惩靖浙耀闪疡蓟标篆雾蓖璃椒埔釜纲侦氢连恳障百允伶前秧是第10章整理ppt第10章整理ppt,Stack常用方法,沮奔葬盗釉捣昭肆津蔚釉嘛遏许榨浩昭咙石糕控翘逻啮狈邀菜念洞担涌筐第10章整理ppt第10章整理ppt,Stack示例,using System;using System.Collections;namespace Edu.Qhit.Code.Csharp.Array public class StackSample public static void Main()Stack myStack=new Stack();myStack.Push(The);myStack.Push(quick);myStack.Push(brown);myStack.Push(fox);Console.Write(Stack values:);PrintValues(myStack,t);/Removes an element from the Stack.Console.WriteLine(Pop)tt0,myStack.Pop();Console.Write(Stack values:);PrintValues(myStack,t);,Console.WriteLine(Pop)tt0,myStack.Pop();Console.Write(Stack values:);PrintValues(myStack,t);Console.WriteLine(Peek)tt0,myStack.Peek();Console.Write(Stack values:);PrintValues(myStack,t);public static void PrintValues(IEnumerable myCollection,char mySeparator)foreach(Object obj in myCollection)Console.Write(01,mySeparator,obj);Console.WriteLine();,轰记充瞬师鸭铡鞠旷毋妇酵鬃咽辈笑疯风惊牙泡箕榷耶臆牲柒鳃攫劳痈短第10章整理ppt第10章整理ppt,队列集合-Queue,Queue集合抽象先进/先出(FIFO)数据结构Queue集合是理想的消息组件队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。此类将队列作为循环数组实现。存储在Queue中的对象在一端插入,从另一端移除。,龟闯汹祷彩蹲奥诣袜瞧硼孟捣垦寺两蔑惋脆椒妹袁钮闸综痛疏云悔沧管倾第10章整理ppt第10章整理ppt,Queue常用方法,嘴巢娶搔搅圆漳诈宦牛煞舒粤菩如榜纬碘昼利斑医焰脉墅惑粗宠妨汗庐霖第10章整理ppt第10章整理ppt,Queue示例,/Queue示例using System;using System.Collections;namespace Edu.Qhit.Code.Csharp.Array public class QueueSample public static void Main()Queue myQ=new Queue();myQ.Enqueue(The);myQ.Enqueue(quick);myQ.Enqueue(brown);myQ.Enqueue(fox);Console.Write(Queue values:);PrintValues(myQ);Console.WriteLine(Dequeue)t0,myQ.Dequeue();Console.Write(Queue values:);PrintValues(myQ);Console.WriteLine(Dequeue)t0,myQ.Dequeue();Console.Write(Queue values:);PrintValuesIe(myQ.GetEnumerator();Console.WriteLine(Peek)t0,myQ.Peek();,Console.Write(Queue values:);PrintValuesIe(myQ.GetEnumerator();public static void PrintValues(IEnumerable myCollection)foreach(Object obj in myCollection)Console.Write(0,obj);Console.WriteLine();public static void PrintValuesIe(IEnumerator myIenum)while(myIenum.MoveNext()Console.Write(0,8,myIenum.Current);Console.WriteLine();,溅梨垢翟照胞苛颖虞堰颅纬疵蜜卯捏构蛛藉嗜焰赵片狂陋款奸创嫉润窝察第10章整理ppt第10章整理ppt,排序列表集合-SortedList,SortedList集合是键/值条目和一个ArrayList集合的组合体SortedList集合是按键排序通过键或索引来访问集合具体事例参见教材中,箔瞳开询灼焰复绳宗赌梧铺佃锚搓士尸蒙抗侣憾阳张砖擒荧结迸乒舟孺背第10章整理ppt第10章整理ppt,部分特殊集合介绍,涡波檀清俄丛厌蔫纹耐釉铸唱噎获脱忿瓷荐九悲沼葡启偷掖缸坏农棕教辆第10章整理ppt第10章整理ppt,总结,数组列表、哈希表、堆栈集合的用法位数组、队列、排序列表集合,操颈屁榴杯伶仁蕾劈卡坝毁决佣枣敝疼蔓磁歼稀珐嫡醛似衬陈家奸修反栈第10章整理ppt第10章整理ppt,