- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 泛型 7.1 泛型的概念 7.1 泛型的概念 7.1 泛型的概念 7.1 泛型的概念 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.3 泛型方法和泛型接口 7.3 泛型方法和泛型接口 7.3 泛型方法和泛型接口 * 本章讲述的主要内容 7.1 泛型的概念 7.2 泛型集合 7.3 泛型方法和泛型接口 7.1.1 泛型的特点 1.可重用性 2.高效率 3.类型安全 7.1.2 泛型类的声明和使用 1. 泛型类的声明 例如,下列代码声明了一个泛型类GenericClass。 public class GenericClassT { //类体代码 } 其中,T为泛型占位符(也可以定义成其它任意合法的标识符),表示一个假设的类型。在定义了泛型类后,默认情况下T可以是任意数据类型,所以可以用实际的数据类型代替T来声明某个实际要使用的类型。 7.1.2 泛型类的声明和使用 2.泛型的命名约定 为了在程序中方便地区分泛型和非泛型类型,需要对泛型命名法则加以如下约定。 1) 泛型类型的名称在程序中变量较多时可用字母T作为前缀加以区别。 2) 如果没有特殊的要求,泛型类型名称允许使用任意合法标识符,如果程序中只使用了一个泛型类型,则一般可使用字符T作为泛型类型的名称。 3) 如果泛型类型有特定的要求(例如必须实现一个派生于基类的接口),或者使用了两个或多个泛型类型,就应给泛型类型指定描述性名称。 7.1.2 泛型类的声明和使用 3. 使用泛型 通常,在需要对多种数据类型进行操作,而且在编写代码时不知道有哪些类型需要进行该操作,也不知道将会有多少类型需要支持这样的操作,为了提高代码的复用率此时可以考虑使用泛型。 【演练7-1】 7.2.1 ListT泛型集合类 1. 创建ListT集合 与ArrayList集合类相似,泛型集合ListT在使用时也需要使用new关键字创建类的实例,语法格式为: List数据类型 对象名称 = new List数据类型([泛型集合的容量]); 例如,下列语句声明了一个名为“Score”的ListT泛型集合对象,并指定数据类型为整型(int)。 //省略了泛型集合的容量 Listint Score = new Listint(); 需要说明的是,上述语句创建的ListT泛型集合实例为空,且具有默认容量(0)。 7.2.1 ListT泛型集合类 2. ListT的常用方法 用于操作ListT泛型集合的方法有很多,但大多数与ArrayList集合的方法相同,这里不再赘述。例如: Liststring list = new Liststring//实例化泛型集合list list.Add(zhangsan); //向list中添加一个项zhangsan list.Insert(0, lisi); //在索引位置为0处插入一个项lisi list.Remove(zhangsan); //从list中移除zhangsan项 7.2.1 ListT泛型集合类 3. ListT与ArrayList的比较 在决定使用ListT泛型集合类还是使用ArrayList类(两者具有类似的功能)时,应注意ListT泛型集合类在大多数情况下执行得更好并且是类型安全的。如果对ListT泛型集合类的类型使用引用类型,则两个类的行为是完全相同的。但是,如果对类型使用值类型,则建议尽量使用ListT泛型集合类。 7.2.2 DictionaryK,V泛型集合类 DictionaryK,V泛型集合的作用与ListT泛型集合十分相似,唯一的不同是DictionaryK,V泛型集合存储数据的方式与HashTable集合相同,采用Key/Vlue对(键/值对)来保存数据,相当于为ListT泛型集合中各元素值增加一个编号字段,以保证无论该元素处于什么位置都能快速地找到该元素。 1. 创建DictionaryK,V泛型集合 与HashTable集合类相似,泛型集合DictionaryK,V在使用时也需要使用new关键字创建类的实例,其语法格式为: Dictionary键类型,值类型 对象名 = new Dictionary键类型,值类型(); 7.2.2 DictionaryK,V泛型集合类 DictionaryK,V泛型集合的作用与ListT泛型集合十分相似,唯一的不同是DictionaryK,V泛型集合存储数据的方式与HashT
您可能关注的文档
- AutoCAD绘图基础实训教程 何文平 第七章 文字注写新.ppt
- AutoCAD绘图基础实训教程 何文平 第三章 精确绘图方法新.ppt
- AutoCAD绘图基础实训教程 何文平 第十一章 图形输出与综合应用新.ppt
- AutoCAD绘图基础实训教程 何文平 第四章 二维图形编新.ppt
- AutoCAD设计与实训 白剑宇 第1章 AutoCAD与绘图新.ppt
- AutoCAD设计与实训 白剑宇 第5章 平面图案设计新.ppt
- AutoCAD设计与实训 白剑宇 第7章 装配图绘制新.ppt
- AutoCAD设计与实训 白剑宇 第9章 实体编辑与查询型新.ppt
- C C++程序设计 第2版 陈卫卫 C第1章 -1新.ppt
- C C++程序设计 第2版 陈卫卫 C第1章 -2新.ppt
- 2025年医药行业变革:合成生物学管线布局与创新投资机遇解析.docx
- 2025年电子竞技运动损伤预防与康复技术趋势报告.docx
- 2025年企业服务与管理行业创新政策建议报告.docx
- 针对公共安全领域的2025年AI算法歧视风险评估报告.docx
- 元宇宙虚拟现实在教育评估中的学生注意力与专注力研究.docx
- 生物基材料产业化应用新趋势:2025年合成生物学战略分析.docx
- 半导体设备维护成本降低与生产周期缩短研究报告.docx
- 数字乡村建设2025年智慧农业与农村金融服务创新.docx
- 社区团购供应链协同创新与可持续发展研究.docx
- 职业教育实训基地数字化建设2025年投资风险与机遇分析报告.docx
最近下载
- 基于大模型的生成式检索.pdf VIP
- 西门子伺服操作说明书-SINAMICS_V90_OPI.pdf VIP
- 电力工程施工安全与质量控制管理.docx VIP
- Packing List-装箱单表格模板.xls VIP
- 电力工程施工安全及质量控制管理.doc VIP
- 2025年最新版硫化氢考试题库大全集.doc VIP
- [江西]发电厂2×600mw级机组“上大压小”土建工程施工组织设计.doc VIP
- 《护患沟通技巧》ppt课件.pptx VIP
- 县乡教师选调进城考试《教育心理学》题库及答案(各地真题).docx VIP
- 发电厂“上大压小”2×600MW超临界空冷机组工程土建专业主要施工方案.docx VIP
文档评论(0)