版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章集合框架教案一、教学目标1.理解集合框架体系结构,掌握Collection与Map区别2.熟练掌握List集合特点及ArrayList、LinkedList使用3.熟练掌握Set集合特点及HashSet、TreeSet使用4.理解哈希表原理,掌握hashCode与equals方法5.熟练掌握Map集合特点及HashMap、TreeMap使用6.掌握迭代器Iterator的使用与原理7.掌握增强for循环及泛型的使用8.掌握Collections工具类的常用方法9.能根据业务场景选择合适的集合二、教学重点与难点教学重点:-List集合的特点与常用方法-Set集合去重原理-Map集合键值对操作-迭代器遍历集合-泛型的使用-Collections工具类教学难点:-哈希表存储原理-hashCode与equals方法重写-红黑树原理(了解)-迭代器快速失败机制-集合的选择策略三、教学内容8.1集合概述【教学内容】1.集合vs数组:-数组:长度固定,可存基本类型和引用类型-集合:长度可变,只能存引用类型,功能强大2.集合体系:-Collection:单列集合List:有序、可重复Set:无序、不可重复-Map:双列集合,键值对3.集合都在java.util包下【教学要点】-画图展示集合体系树-强调:集合只能存对象,基本类型要包装类8.2Collection集合8.2.1Collection常用方法【教学内容】1.添加:add(Ee)、addAll(Collectionc)2.删除:clear()、remove(Object)、removeAll()3.判断:isEmpty()、contains(Object)、containsAll()4.获取:size()、iterator()5.转数组:toArray()【教学要点】-这些方法所有Collection子类都有-演示方法使用8.2.2迭代器Iterator【教学内容】1.作用:遍历集合的通用方式2.使用:Iteratorit=coll.iterator();while(it.hasNext()){it.next();}3.原理:指针,初始在第一个元素前4.增强for:foreach,底层也是迭代器for(Ee:集合/数组){}5.并发修改异常:遍历同时修改集合6.ListIterator:可以逆向遍历,遍历时添加修改【教学要点】-演示NoSuchElementException-演示ConcurrentModificationException-三种遍历方式对比8.3List集合8.3.1List特点与方法【教学内容】1.List特点:有序、可重复、有索引2.特有方法(索引操作):-add(intindex,Eelement)-remove(intindex)-get(intindex)-set(intindex,Eelement)3.四种遍历:普通for、迭代器、增强for、ListIterator【教学要点】-重点:有索引,可以普通for循环-Set没有索引,不能普通for8.3.2ArrayList【教学内容】1.底层:数组,查询快、增删慢2.初始容量10,扩容1.5倍3.线程不安全,效率高4.常用场景:查询多、增删少5.Vector:线程安全,效率低,已过时【教学要点】-开发最常用集合-泛型使用:ArrayList<String>8.3.3LinkedList【教学内容】1.底层:双向链表,查询慢、增删快2.特有方法:操作首尾addFirst()、addLast()getFirst()、getLast()removeFirst()、removeLast()3.常用场景:增删多、查询少【教学要点】-对比ArrayList与LinkedList区别-画图展示链表结构8.4Set集合8.4.1Set特点【教学内容】1.Set特点:无序、不可重复、无索引2.不能普通for循环,只能迭代器或增强for3.主要实现类:HashSet、TreeSet、LinkedHashSet【教学要点】-重点:不可重复,用于去重-无序:存和取顺序不一致8.4.2HashSet【教学内容】1.底层:哈希表(数组+链表+红黑树)2.去重原理:-先调用hashCode()算哈希值-哈希值不同,直接存-哈希值相同,调用equals()比较-equals返回false才存3.自定义对象去重:必须重写hashCode和equals4.线程不安全,效率高【教学要点】-画图演示哈希表存储过程-演示:不重写方法无法去重-IDE自动生成hashCode和equals8.4.3LinkedHashSet【教学内容】1.底层:哈希表+链表2.特点:有序(存和取顺序一致)3.去重同HashSet【教学要点】-对比HashSet:有序但稍慢8.4.4TreeSet【教学内容】1.底层:红黑树2.特点:排序、去重3.两种排序方式:-自然排序:元素实现Comparable接口-比较器排序:构造方法传Comparator4.去重根据比较结果为0【教学要点】-演示自然排序Comparable-演示比较器Comparator-红黑树简单了解8.5Map集合8.5.1Map概述【教学内容】1.Map:双列集合,键值对(key-value)2.特点:-key不重复,value可重复-一个key对应一个value3.常用实现类:HashMap、TreeMap、LinkedHashMap4.Map与Collection无继承关系【教学要点】-对比Collection单列,Map双列-举例:学号-学生,身份证-人8.5.2Map常用方法【教学内容】1.添加:put(Kkey,Vvalue),key重复覆盖2.删除:remove(Objectkey)、clear()3.获取:get(Objectkey)、size()4.判断:containsKey()、containsValue()、isEmpty()5.获取功能:-keySet():获取所有key的Set集合-values():获取所有value的Collection-entrySet():获取键值对对象的Set【教学要点】-put返回旧值,key重复返回被覆盖的值-get找不到返回null8.5.3Map遍历【教学内容】1.方式1:键找值keySet()->遍历key->get(key)找value2.方式2:键值对对象entrySet()->遍历Entry->getKey()、getValue()3.方式3:forEachLambda(JDK8+)map.forEach((k,v)->{})【教学要点】-两种遍历都要掌握-entrySet方式效率更高8.5.4HashMap【教学内容】1.底层:哈希表,同HashSet2.特点:key去重同HashSet原理3.允许null键null值4.线程不安全,效率高5.HashTable:线程安全,不允许null,过时【教学要点】-开发最常用Map-key为自定义对象要重写hashCode和equals8.6泛型【教学内容】1.泛型:参数化类型,把类型当参数2.好处:-避免类型转换-编译期检查类型安全3.使用:-泛型类:classA<T>{}-泛型方法:public<T>voidmethod(Tt){}-泛型接口:interfaceInter<T>{}4.通配符:?代表任意类型-?extendsE:上限,E及子类-?superE:下限,E及父类【教学要点】-演示不用泛型需要强转-泛型只在编译期有效,运行期擦除8.7Collections工具类【教学内容】1.Collections:集合工具类,全静态方法2.常用方法:-sort(List):排序-reverse(List):反转-shuffle(List):随机打乱-max()、min():最值-binarySearch():二分查找-copy():复制【教学要点】-对比Arrays工具类(数组)-Collections操作集合四、教学建议1.哈希表原理一定要画图,一步步演示2.每种集合都要代码演示增删改查遍历3.对比各集合特点,教学生如何选择4.泛型从不用泛型的问题引入,理解好处5.课后练习:学生管理系统(用集合存储学生)五、常见问题与解决方案1.HashSet自定义对象不去重->
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽2026年物业管理师资格考试(物业管理实务)题库及答案(建设部)
- 2026警察部门面试题目及答案
- 2026年杭州市公安局滨江区分局招聘警务辅助人员备考题库参考答案
- 2026年贵州高考历史考试题库附参考答案
- LHQ766-生命科学试剂-MCE
- 望都社区工作者招考真题及答案2025
- 昆都伦区2025届四下数学期中调研模拟试题(含答案解析)
- 日照市东港区2025-2026学年三下数学期中统考试题(含答案解析)
- 日喀则地区定结县2025届三年级数学第二学期期中模拟试题含解析
- 2026年高中成语测试题及答案
- 衢州动物殡葬管理办法
- 变电值班员岗位培训课件
- 2025初二地理生物会考试卷及答案
- 皮带配料秤巡检知识培训
- 学堂在线 中国传统文化 章节测试答案
- 天津市红桥区2024-2025学年七年级下学期期末语文试题(含答案)
- 北京市朝阳区2024-2025学年高一下学期期末质量检测数学试题【含答案解析】
- DB4401∕T 152-2022 既有建筑幕墙安全检查技术规程
- 江苏省泰州市泰兴市2024-2025学年高一下学期期末调研测试化学试题(含答案)
- 潮汕文化英文介绍课件
- 企业报关管理制度
评论
0/150
提交评论