欢迎来到天天文库
浏览记录
ID:52980628
大小:1.92 MB
页数:21页
时间:2020-04-07
《.net基础—使用集合组织相关数据.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用集合组织相关数据第五章回顾与作业点评staticvoidMain(string[]args){int[]stus=newint[2];stus[0]=18;stus[1]=13;intnum=0;for(inti=0;i2、的局限性能否建立一个动态的“数组”?//3个工程师对象组成的数组string[]engineers=newstring[3];engineers[0]=“张三”;engineers[1]=“李四”;……如果每个部门的人数不固定部门中来了一个新同事调整大小困难增加元素困难重新定义数组数组长度定义很大问题4/43可维护动态长度的集合ArrayList是一个可动态维护长度的集合新增元素可删除元素可访问单个元素objectobjectobjectobject0123索引(下标)object40123ArrayList自动调整索引通过索引访问5/43ArrayList的初始化3、引入System.Collections命名空间实例化ArrayList对象usingSystem.Collections;…ArrayListengineers=newArrayList();ArrayListengineers=newArrayList(5)可以指定长度引入命名空间实例化一个对象常见错误未引入命名空间定义时未实例化示例注意实现步骤6/43ArrayList添加元素intAdd(Objectvalue)//添加一个对象到集合的末尾ArrayListengineers=newArrayList();……//添加对象到集合engineers.Add(“4、王小毛”);//获取集合元素的数目Console.WriteLIne(engineers.Count);返回索引语法示例向ArrayList中添加值类型的元素时,会执行装箱处理提示演示示例:向集合添加元素7/43访问ArrayList单个元素(类型)ArrayList[index]//按指定索引(下标)取得对象stringengineer=(int)engineers[0];Console.WriteLine(engineer);…转换为字符串类型需要类型转换语法示例演示示例:访问集合单个元素8/43ArrayList的遍历使用和数组类似的方式(通过索引)王小毛周新5、雨张烨for(inti=0;i6、.WriteLine("部门共包括{0}个工程师。",engineers.Count);stringleave=engineers[0];Console.WriteLine(leave);语法示例演示示例:删除集合元素10/43常见错误2-1//添加元素engineers.Add(“jack”);engineers.Add(“joe”);engineers.Add(“ema”);//删除元素engineers.RemoveAt(0);engineers.RemoveAt(1);engineers.RemoveAt(2);运行这段代码为何会发生错误?索引会自动调整,删7、除两个元素后,不再有索引“2”代码阅读演示示例:常见错误111/43小结使用ArrayList存储学生集合添加两个学生(周杰伦;杨伊)使用for遍历学生信息现场编程12/43为什么使用HashtableArrayList通过索引获取对象是否能够通过关键字获取该对象呢?动态可维护长度可通过关键字检索C#提供另一种集合集合:Hashtablestringengineer=engineers[0];ArrayList中元素频繁变化,跟踪元素下标很困难问题13/43什么是HashtableArrayList每个元素对应一个索引Hashtable通常称为哈希表根据键(Ke
2、的局限性能否建立一个动态的“数组”?//3个工程师对象组成的数组string[]engineers=newstring[3];engineers[0]=“张三”;engineers[1]=“李四”;……如果每个部门的人数不固定部门中来了一个新同事调整大小困难增加元素困难重新定义数组数组长度定义很大问题4/43可维护动态长度的集合ArrayList是一个可动态维护长度的集合新增元素可删除元素可访问单个元素objectobjectobjectobject0123索引(下标)object40123ArrayList自动调整索引通过索引访问5/43ArrayList的初始化
3、引入System.Collections命名空间实例化ArrayList对象usingSystem.Collections;…ArrayListengineers=newArrayList();ArrayListengineers=newArrayList(5)可以指定长度引入命名空间实例化一个对象常见错误未引入命名空间定义时未实例化示例注意实现步骤6/43ArrayList添加元素intAdd(Objectvalue)//添加一个对象到集合的末尾ArrayListengineers=newArrayList();……//添加对象到集合engineers.Add(“
4、王小毛”);//获取集合元素的数目Console.WriteLIne(engineers.Count);返回索引语法示例向ArrayList中添加值类型的元素时,会执行装箱处理提示演示示例:向集合添加元素7/43访问ArrayList单个元素(类型)ArrayList[index]//按指定索引(下标)取得对象stringengineer=(int)engineers[0];Console.WriteLine(engineer);…转换为字符串类型需要类型转换语法示例演示示例:访问集合单个元素8/43ArrayList的遍历使用和数组类似的方式(通过索引)王小毛周新
5、雨张烨for(inti=0;i6、.WriteLine("部门共包括{0}个工程师。",engineers.Count);stringleave=engineers[0];Console.WriteLine(leave);语法示例演示示例:删除集合元素10/43常见错误2-1//添加元素engineers.Add(“jack”);engineers.Add(“joe”);engineers.Add(“ema”);//删除元素engineers.RemoveAt(0);engineers.RemoveAt(1);engineers.RemoveAt(2);运行这段代码为何会发生错误?索引会自动调整,删7、除两个元素后,不再有索引“2”代码阅读演示示例:常见错误111/43小结使用ArrayList存储学生集合添加两个学生(周杰伦;杨伊)使用for遍历学生信息现场编程12/43为什么使用HashtableArrayList通过索引获取对象是否能够通过关键字获取该对象呢?动态可维护长度可通过关键字检索C#提供另一种集合集合:Hashtablestringengineer=engineers[0];ArrayList中元素频繁变化,跟踪元素下标很困难问题13/43什么是HashtableArrayList每个元素对应一个索引Hashtable通常称为哈希表根据键(Ke
6、.WriteLine("部门共包括{0}个工程师。",engineers.Count);stringleave=engineers[0];Console.WriteLine(leave);语法示例演示示例:删除集合元素10/43常见错误2-1//添加元素engineers.Add(“jack”);engineers.Add(“joe”);engineers.Add(“ema”);//删除元素engineers.RemoveAt(0);engineers.RemoveAt(1);engineers.RemoveAt(2);运行这段代码为何会发生错误?索引会自动调整,删
7、除两个元素后,不再有索引“2”代码阅读演示示例:常见错误111/43小结使用ArrayList存储学生集合添加两个学生(周杰伦;杨伊)使用for遍历学生信息现场编程12/43为什么使用HashtableArrayList通过索引获取对象是否能够通过关键字获取该对象呢?动态可维护长度可通过关键字检索C#提供另一种集合集合:Hashtablestringengineer=engineers[0];ArrayList中元素频繁变化,跟踪元素下标很困难问题13/43什么是HashtableArrayList每个元素对应一个索引Hashtable通常称为哈希表根据键(Ke
此文档下载收益归作者所有