- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何使用泛型与泛型集合
如何使用集合和泛型集合 数组的局限 能否动态的维护一个集合? 可维护动态长度的集合 ArrayList是一个可动态维护长度的集合 ArrayList的初始化 引入System.Collections命名空间 实例化ArrayList对象 ArrayList添加元素 建立班级学员的集合 访问ArrayList元素 删除ArrayList的元素 ArrayList 的遍历 可以使用和数组类似的方式 为什么使用HashTable ArrayList通过索引获取对象 什么是HashTable ArrayList 每个元素对应一个索引 HashTable 通常称为哈希表 根据键(Key)可以查找到相应的值(Value) 使用哈希表 给哈希表添加元素 哈希表的遍历 类型安全1 类型安全2 ListT的使用 引入命名空间:System.Collections.Generic ListStudent students = new ListStudent(); 利用ListStudent存储班级集合 什么是泛型集合 泛型最常见的用途是创建集合类 泛型集合可以约束集合内的元素类型 典型泛型集合ListT,DictionaryK,V T、K,V表示该泛型集合中的元素类型 使用泛型集合ListT ListT 与 ArrayList 访问 ListT 与 ArrayList 的对比 DictionaryK,V概述 DictionaryK,V具有ListT相同的特性 K,V约束集合中元素类型 编译时检查类型约束 无需装箱拆箱操作 与哈希表类似存储Key和Value的集合 DictionaryK,V的使用 DictionaryK,V与哈希表 访问 DictionaryK,V 与 哈希表 的对比 泛型的重要性 泛型集合与传统集合相比类型更安全 泛型集合无需装箱拆箱操作 泛型的重要性 泛型是未来五年的主流技术之一 解决了很多需要繁琐操作的问题 提供了更好的类型安全性 CLR 支持泛型 后续课程学习泛型接口 上机练习 使用ListT的流程和步骤 添加元素 存取单个元素 删除元素 遍历元素 使用DictionaryK,V)的流程和步骤 定义DictionaryK,V泛型集合 获取泛型集合的元素 删除泛型集合的一个元素 遍历泛型集合的元素 谢谢大家! 最后我们来总结一下ListT 与 ArrayList区别,两者最大的区别就是ListT在增加元素时类型严格检查,遍历时无需装箱拆箱操作。那么是否有哈希表那样存储Key和Value形式的泛型集合呢? 前面谈到的DictionaryK,V就满足要求。 下面我们来具体介绍一下DictionaryK,V的特性和定义,DictionaryK,V与哈希表类似,是存储Key和Value的泛型集合,区别是编译时检查类型约束;遍历时不需要类型转换(装箱拆箱)。利用DictionaryK,V存储学员集合的定义如下,其中Key存储String类型, value存储Student类型。 我们来看它的访问方式,(切换PPT) DictionaryK,V的访问方式与哈希表相同,添加、获取元素和删除元素时都是通过Key来完成的,遍历元素时也是用到了Values属性,遍历时也是用Student类型无须进行拆箱和装箱了。 最后来总结一下DictionaryK,V与哈希表的区别,最大的区别是编译时检查类型约束;遍历时不需要类型转换(装箱拆箱)。两者的添加元素、获取元素、遍历元素等都是相同的。 最后我们来总结一下泛型的重要性,泛型集合与传统集合相比类型更安全,无需装箱拆箱操作,它是未来五年的主流技术之一,解决了很多需要繁琐操作的问题,通过泛型,我们可以定义类型安全的数据结构,而无需使用实际的数据类型。这能显著提高性能并得到更高质量的代码。而且后续课程还要学习泛型接口。 (站在演讲台正中央,精神饱满,声音洪亮) 从这节课开始,第一阶段教法剩下的时间我们要进行常用教学技巧的训练,(按“切换键”,指着课程标题) (切换PPT) 数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的。 数组要声明元素的类型,集合类的元素类型却是object。 数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。 数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问! 能否维护一个动态维护长度的集合呢?我们今天学习新的对象ArrayListList,在新增元素操作时
您可能关注的文档
- 历史文化保护案例解析09 09 14.ppt
- 卫浴市场报告.ppt
- 参考书目2007.ppt
- 友情英文版.ppt
- 及压力容器设计基础.ppt
- 反植入广告.ppt
- 反应机理05.ppt
- 反比例函数的图象和性质2221.ppt
- 反比例函数的图象和性质333.ppt
- 反证法高二文科.ppt
- 2023年黑龙江省哈尔滨市道里区新华街道招聘社区工作者真题及参考答案详解1套.docx
- 2023年黑龙江省大庆市肇州县永胜乡招聘社区工作者真题含答案详解.docx
- 2023年黑龙江省牡丹江市海林市新安朝鲜族镇招聘社区工作者真题及参考答案详解.docx
- 2023年黑龙江省哈尔滨市松北区万宝街道招聘社区工作者真题及答案详解1套.docx
- 2023年黑龙江省哈尔滨市道外区新乐街道招聘社区工作者真题含答案详解.docx
- 2023年黑龙江省绥化市北林区吉泰招聘社区工作者真题参考答案详解.docx
- 2023年黑龙江省哈尔滨市香坊区建筑街道招聘社区工作者真题附答案详解.docx
- 2023年黑龙江省哈尔滨市道外区民主乡招聘社区工作者真题附答案详解.docx
- 2023年黑龙江省牡丹江市海林市二道镇招聘社区工作者真题含答案详解.docx
- 2023年黑龙江省大庆市萨尔图区铁人街道招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)