- 1
- 0
- 约1.92千字
- 约 3页
- 2018-06-25 发布于河南
- 举报
训练师脚本:如何使用泛型与泛型集合
脚本_ 如何使用泛型和泛型集合
第1页PPT
(训练师站在演讲台正中央,精神饱满,声音洪亮)
大家好,今天我们来学习泛型和泛型集合。
(切换PPT)
第2页PPT
我们往ArrayList类型的students集合中添加一个Teacher对象,然后遍历输出。首先我们来判断能否加入一个Teacher对象?(停顿2秒)是可以的,那么遍历这个集合是否有问题呢? (停顿2秒)是有问题的,因为当遍历到jacky 这个对象时,是不能把它转换成Student对象的。
(切换PPT)
第3页PPT
大家看这样一个集合, Student集合中包括了3个学员,(切换PPT)假设我们向Student集合中添加了一个Teacher对象成龙龙,则班级里共包括4个学员。当我们遍历集合时,访问到成龙龙时就会出现运行错误,这说明我们在使用ArrayList集合进行对象存储时不易控制,在类型转换时容易出错,从而引发了集合元素的类型安全问题。我们怎么能做到让添加到集合中的对象都是合法的呢?
(切换PPT)
第4页PPT
我们使用泛型集合就可以规范这样的类型安全问题了。首先要引入System.Collections.Generic命名空间,在定义集合时使用ListStudent 来规范集合中存放的元素只能是Student对象,(切换PPT)这样当我们将Teacher对象加入班级时就会引发编译出错,从而将问题消灭在萌芽状态。由于添加的元素都是安全的,所以当我们遍历ListStudent集合时就不会引发错误了。另外大家要注意,这里我们不再需要对数组的元素进行类型转换了,这是因为我们在遍历泛型集合时,定义的遍历对象只需要是元素类型就可以了。 由此可见泛型集合ListT与集合的用法相似,区别是增加元素时严格检查类型保证元素的一致性;遍历时不需要类型转换(装箱拆箱) ,从而提高了安全性和执行效率。
(切换PPT)
第5页PPT
所以说对于ListStudent泛型集合来说,(切换PPT) Student对象是允许添加的,Teacher对象是不允许添加的,(切换PPT) 遍历时无须转换类型了,这就是泛型集合的两大优势。泛型最常见的用途是创建集合类,典型泛型集合有ListT,DictionaryK,V, T、K,V表示该泛型集合中的元素类型,。
(切换PPT)
第6页PPT
下面我们来看泛型集合ListT的应用举例,ListT的访问方式与ArrayList相同,也是使用索引访问和删除,但无需类型转换,遍历时不需要类型转换。
(切换PPT)
第7页PPT
最后我们来总结一下ListT 与 ArrayList区别,两者最大的区别就是ListT在增加元素时类型严格检查,遍历时无需装箱拆箱操作。那么是否有哈希表那样存储Key和Value形式的泛型集合呢? 前面谈到的DictionaryK,V就满足要求。
(切换PPT)
第8页PPT
下面我们来具体介绍一下DictionaryK,V的特性和定义,DictionaryK,V与哈希表类似,是存储Key和Value的泛型集合,区别是编译时检查类型约束;遍历时不需要类型转换(装箱拆箱)。利用DictionaryK,V存储学员集合的定义如下,其中Key存储String类型, value存储Student类型。
(切换PPT)
第9页PPT
我们来看它的访问方式,(切换PPT) DictionaryK,V的访问方式与哈希表相同,添加、获取元素和删除元素时都是通过Key来完成的,遍历元素时也是用到了Values属性,遍历时也是用Student类型无须进行拆箱和装箱了。
(切换PPT)
第10页PPT
最后来总结一下DictionaryK,V与哈希表的区别,最大的区别是编译时检查类型约束;遍历时不需要类型转换(装箱拆箱)。两者的添加元素、获取元素、遍历元素等都是相同的。
(切换PPT)
第11页PPT
最后我们来总结一下泛型的重要性,泛型集合与传统集合相比类型更安全,无需装箱拆箱操作,它是未来五年的主流技术之一,解决了很多需要繁琐操作的问题,通过泛型,我们可以定义类型安全的数据结构,而无需使用实际的数据类型。这能显著提高性能并得到更高质量的代码。而且后续课程还要学习泛型接口。
(切换PPT)
第12页PPT
现在我们上机练习在使用ListT和DirectoryK,V泛型集合添加元素,删除元素,取值,最后遍历每个元素,体会两个泛型集合的用法。
北大青鸟?合作院校事业部 院校教学服务部
第 1 页 共 3 页
您可能关注的文档
- 澳大利亚的企业社会责任信息披露研究.pdf
- 车辆工程师培训招生简章.doc
- 安置房买卖合同(修改).doc
- 黑龙江省哈师大附中2009-2010学年高二上学期期中考试数学(理科)试题.doc
- java1.5新特性.doc
- 600MW机组防寒防冻运行调整技术措施.doc
- 03-第四章利用NTFS实现文件系统安全.ppt
- 数字化测图1-3章讲.ppt
- 大学生职业发展协会财务管理制度.doc
- 2011年下半年运营思路.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2025高中英语教师课程标准考试模拟试卷及参考答案.docx VIP
- 第12课 绿意再生课件-赣美版(2024)初中美术七年级下册.pptx VIP
- 2025年青岛西海岸新区自主招生化学试题及答案.docx VIP
- 2024-2025学年江苏卫生健康职业学院单招《英语》考前冲刺练习(真题汇编)附答案详解.docx VIP
- GJ B 2446-2-2013 J30系列微矩形电连接器详细规范.pdf VIP
- 2025年内蒙古中考物理试卷及答案.docx VIP
- 第11课+传递绿色理念+课件+2024—2025学年赣美版(2024)+初中美术七年级下册.pptx VIP
- 2025年江苏卫生健康职业学院单招《数学》真题带答案详解(模拟题).docx VIP
- 2023年广东省中考道德与法治试卷真题及答案详解.pdf
- 相变的软模理论.ppt VIP
原创力文档

文档评论(0)