- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何使用泛型与泛型集合
如何使用集合和泛型集合 数组的局限 能否动态的维护一个集合? 可维护动态长度的集合 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
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)