还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
行知学堂xinzhixuetang程序设计基础与实战Java教学设计课程名称程序设计Java授语年级________________________________授课学期________________________________教师成名________________________________2023年07月25日当hasNext方法返回false时,则说明到达集合末尾,停止遍历遍历集合
2.foreach优势它不需要获取容器长度,不需要用索引去访问容器中元素,但它能自动遍历容器中所有元素语法容器中元素类型临时变量容器变量{程序语句for演示案例使用foreach遍历颜色数组详见本章PPT二接口Set类l.HashSet1Set接口介绍定义Set接口是单列集合的一个重要分支,一般将实现了Set接口的对象称为Set集合特点Set集合中元素是无序的、不可重复的Set集合没有按照元素的插入顺序排列注意Set集合判断两个元素是否相等用equals方法,而不是使用==运算符Set集合也可以存储null,但只能存储一个,即使添加多个也只能存储一个主要实现类HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此能高效地查询,可以用来做少量数据的插入操作TreeSet底层是用二叉树来实现存储元素的,它可以对集合中元素排序2HashSet类介绍概述HashSet类是Set接口的典型实现,是Set接口最常用的实现类特点HashSet按照Hash算法来确定对象在集合中的存储的位置的,因此具有很好的存取和查找性能演示案例详见本章PPT类
2.TreeSet特点TreeSet底层采用平衡的排序二叉树实现,所以它既能保证元素唯一性,又可以对元素进行排序常用方法方法声明功能描述Comparator comparator如果TreeSet采用定制排序,则返回定制排序所使用的Comparator,如果TreeSet采用自然排序,则返回nullObject first返回集合中第一个元素Object lastO返回集合中最后一个元素Object lowerObject o返回集合中位于之前的元素Object higherObject o返回集合中位于之后的元素SortedSet subsetObjecto1,Objecto2返回此Set的子集合,范围从o1到o2SortedSet headsetObjecto返回此Set的子集合,范围小于元素oSortedSet tailSetObjecto返回此Set的子集合,范围大于或等于元素o演示案例TreeSet集合的基本操作详见本章PPT自然排序仅做了解,详见本章PPT定制排序仅做了解,详见本章PPT
三、知识巩1回顾上课前的学习目标,对本节课知识点进行总结第四学时接口Map顾上节课内容1对上节课布置的任务以及学生提出的问题进行答疑解惑2回顾上节课内容,引出本节课主题3明确学习方向•掌握M叩接口的常用方法•掌握HashMap集合的使用•了解LinkedHashMap类•了解Properties类的使用
二、知识讲解一接口简介Map概念Map接口用于存储键值对key-value形式的元素,描述了由不重复的键到值的映射特点Map中的key和value都可以是任何引用类型的数据,key不允许重复,且必须实现hashCode和equals方法key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value映射关系entry key-value entrykey-value entrykey-value entrykey-value集合A key集合B value二集合HashMap特点:HashMap类是M叩接口中使用频率最高的实现类,允许使用null键和null值,不保证映射的顺序HashM叩集合判断两个key相等的标准两个key通过equals方法返回true,hashCode值也相等HashMap集合判断两个value相等的标准两个value通过equals方法返回trueo演示案例详见本章PPTo三集合LinkedHashMap概念LinkedHashMap类是HashMap的子类,LinkedHashMap类可以维护Map的迭代顺序,迭代顺序与键值对的插入顺序一致特点构造一个有序的M叩演示案例详见本章PPTo四集合Properties作用Properties用于处理属性文件,由于属性文件里的键和值都是字符串类型特点由于属性文件中键和值都是字符串类型,所以Properties类中的键和值都是字符串类型常用方法方法声明功能描述String getPropertyStringkey获取Properties中键为key的属性值String getPropertyString s1,String s2获取Properties中键为s1的属性值,若不存在键为s1的值,则获取键为s2的值Object setPropertyStringkey,String value设置属性值,类似于Map的put方法void loadQnputStreaminStream从属性文件中加载所有键值对,将加载到的属性追加到Properties里,不保证加载顺序void storeOutputStreamout,Strings将Properties中的键值对输出到指定文件演示案例对比StringBuffer对象和StringBuilder对象拼接字符传串的耗时详见本章PPT
三、知识巩实战训练7・3花样滑冰打分系统详见本章PPT1回顾上课前的学习目标,对本节课知识点进行总结xmzr第五六课时〜(上机练习)
一、目标学生根据教材中的操作步骤和教师的演示进行上机练习,完成本章的上机任务,以及检查学生对相关知识点的掌握情况上机练习完成后将报告通过平台提交给老师
二、上机任务
1.实战训练11-1斗地主洗牌发牌(3分)
2.实现书中的演示案例的效果(2分)
三、教师评分教师根据学生对上机任务的完成度给予评分,满分为5分,并纳入平时成绩中习题教材第11章习题教学后记计划学课程名称第11章泛型和集合4+2学时时内容主要学习Java语言的泛型和集合,包括泛型方法、泛型类和泛型接口分析的使用、集合框架(Collection^List、Set Map)的使用【知识目标】
1.了解Java的集合框架
2.了解Collection接口
3.了解泛型的使用教学目标与【技能目标】教学要求
1.熟练掌握List、Set和Map的使用
2.熟练掌握集合遍历的方法【思政育人目标】培养学生团队合作意识,发挥组长带头作用,培养大局意识,组员间相互鼓励,互帮互助,培养协作意识教学重点ArrayLis类、LinkedList类的使用教学难点集合的遍历教学方式课堂讲解配合ppt演示3学时,上机演练3学时第一学时(泛型)1顾上节课内容2对上节课布置的任务以及学生提出的问题进行答疑解惑3回顾上节课内容,引出本节课主题(明确学习方向教((理解泛型的概念学掌握泛型的应用•过掌握类型通配符的使用•了解有界类型•程知了解自定义泛型的使用••识讲解型
二、;R什么使用泛型(详见本章PPT)示解决了数据类型的安全性问题,其主要原理是在声明时通过一个标类中某
(一)泛:个属性的类型或者是某个方法的返回值及参数类型这样在识,表类声明或实例化时只要指定好需要的具体类型即可
(二)泛型的定义泛型的介绍泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制泛型的优点把运行时期的问题提前到了编译期间避免了强制类型转换泛型的定义格式〈类型〉指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如〈类型1,类型2…〉指定多种类型的格式,多种类型之间用逗号隔开示例参数化类型〉参数化类型()ArrayListc list=new ArrayListc;演示案例详见本章PPTo
(三)通配符类型通配符用符号“?”表示,比如List,它是ListString.ListObject等各种泛型List的父类演示案例详见本章PPT
(四)有界类型有界类型,可以创建声明超类的上界和声明子类的下界演示案例详见本章PPT
(五)泛型的限制加入集合中的对象类型必须与指定的泛型类型一致静态方法中不能使用类的泛型如果泛型类是一个接口或抽象类,则不可创建泛型类的对象不能在catch中使用泛型从泛型类派生子类,泛型类型需具体化正确应用泛型,可以使程序变得更简洁、更健壮,在应用的同时,也要注意泛型的诸多限制,以免出现错误
(六)自定义泛型想使用泛型,就需要先定义泛型,泛型有两种定义的方式.在方法上定义,写在返回值之前1Java程序中的普通方法、构造方法和静态方法中都可以使用泛型方法使用泛型前,必须对泛型进行声明,语法T,T可以是任意字母,但通常必须要大写一般情况下大写是类型,小写是参数T需放在方法的返回值声明之前.在类上定义,写在类名之后2除了在方法上声明泛型之外,还可以在类上声明泛型需要注意的是在类上面声明泛型,仅限于实例方法上直接使用,但是不适合静态方法,静态方法上的泛型还是需要在方法上单独定义的演示案例详见本章PPT
三、知识巩
(1)回顾上课前的学习目标,对本节课知识点进行总结
(2)使用第七章课后作业第二学时(集合框架概述、接口、接口)Collection List
一、提出需求,导入学习任务
(1)数组的弊端和集合的优势•一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储另一方面,使用Array存储对象方面具有一些弊端,而java的集合就像一种容器,可以动态地把多个对象的引用放入容器中•数组的在内存存储方面的弊端数组初始化以后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高同时无法直接获取存储元素的个数数组存储的数据是有序的、可以重复的存储数据的特点单一•Java集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组
(2)明确学习方向•理解Java集合框架的概念•了解Collection接口•了解List接口的常用方法•掌握ArrayList类的使用•掌握LinkedList类的使用
二、知识讲解
(一)集合框架概述引入通过数组的弊端进行引入存储已知数目的数据可以使用数组,例如学生的信息;存储未知数B的数据,数组并不适用,例如新闻的信息如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象------使用Java集合框架概念Java的集合框架(Javacollections framework)是为表示和操作集合而规定的一种统一的标准的体系结构Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中Java集合类主要由两个根接口Collection和Map派生出来的,如下图所不OLinkedHashSeiTreeSetLinkcdList
(二)接口Collection•Collection接口存储一组不唯一,无序的对象(单列数据)List存储一组不唯一,有序(插入顺序)的对象(动态数组)o023451aaaa ddddcccc aaaaeeee ddddSet接口存储一组唯一,无序的对象(数学中的集合)•Map接口存储一组键值对象,提供key到value的映射(双列数据)Collection接口常用方法:方法声明功能描述boolean addObjectobj向集合添加一个元素boolean addAIICollectionc将指定集合中所有元素添加到该集合void clear清空集合中所有元素boolean containsObjectobj判断集合中是否包含某个元素boolean containsAIICollectionc判断集合中是否包含指定集合中所有元素Iterator iteratorO返回在此Collection的元素上进行迭代的迭代器boolean removeObjecto删除该集合中的指定元素boolean removeAIICollectionc删除指定集合中所有元素仅保留此Collection中那些也包含在指定Collection的boolean retainAIICollectionc元素Object[]toArrayO返回包含此Collection中所有元素的数组boolean isEmptyO如果此集合为空,则返回trueint sizeQ返回此集合中元素个数三接口List接口特有常用方法:List方法声明功能描述void addintindex,Object element在indexfiJM插入element元素Object getintindex得至Uindex处的元素Object setintindex,Object element用element替换index位置的元素Object removeintindex移除index位置的元素,并返回元素int indexOfObjecto返回集合中第一次出现的索引,若集合中不包含该元素,则返回-1int lastlndexObjecto返回集合中最后一次出现o的索引,若集合中不包含该元素,则返回-1演示案例使用ArrayList和LinkedList操作流浪猫名字详见本章PPT类
1.Array List概述List接口的主要实现类,实现了长度可变的数组,在内存中分配连续的空间,底层使用Object遍历元素和随机访问元素的效率比较高012345aaaa ddddcccc aaaaeeee dddd特点是线程不安全的,遍历元素和随机访问元素的效率高演示案例使用ArrayList存储多种类型的数据,并打印元素的个数和指定位置的元素详见本章PPT类
2.LinkedList概述:LinkedList集合底层由若干个相连的Node节点组成的,每个Node节点都包含着该节点的数据、前一个节点、后一个节点bbbb dddd特点LinkedList采用链表存储方式,插入、删除元素时效率比较高aaaa操作图解添加数据将c插入到该LinkedList集合的a和b之前,
①a节点的存储c节点的地址
②c节点存储a节点的地址
③b节点存储c节点的地址
④c节点存储b节点的地址删除数据将b从该LinkedList的a和c之间移除
①a节点存储c节点的地址
②c节点引用a节点的地址LinkedList类特有的方法由于它的底层是链表,所以它拥有头和尾,并且围绕头和尾设计了它独有的方法如下图所示方法声明功能描述void addintindex,Objecto将插入索引为index的位置void addFirstObjecto将og入集合的开头void addLastObjecto将o插入集合的结尾Object getFirstO得到集合的第一个元素Object getLastO得到集合的最后f元素Object removeFirst删除并返回集合的第一个元素Object removeLast删除并返回集合的最后一个元素演示案例使用LinkedList集合操作流浪猫名字数组知识巩1回顾上课前的学习目标,对本节课知识点进行总结2使用第七章课后作业第三学时集合的迭代操作、接口Set1对上节课布置的任务以及学生提出的问题进行答疑解惑2回顾上节课内容,引出本节课主题3明确学习方向•掌握Iterator接口迭代集合的方式•掌握foreach迭代集合的方式•了解Set接口的常用方法•掌握HashSet的使用•了解TreeSet类的使用
二、知识讲解一集合的迭代操作接口
个人认证
优秀文档
获得点赞 0