JAVA学习 Java集合框架课件

上传人:我*** 文档编号:145144273 上传时间:2020-09-16 格式:PPT 页数:26 大小:422.50KB
返回 下载 相关 举报
JAVA学习 Java集合框架课件_第1页
第1页 / 共26页
JAVA学习 Java集合框架课件_第2页
第2页 / 共26页
JAVA学习 Java集合框架课件_第3页
第3页 / 共26页
JAVA学习 Java集合框架课件_第4页
第4页 / 共26页
JAVA学习 Java集合框架课件_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《JAVA学习 Java集合框架课件》由会员分享,可在线阅读,更多相关《JAVA学习 Java集合框架课件(26页珍藏版)》请在金锄头文库上搜索。

1、第七章,Java集合框架,回顾,什么是异常?Java中如何进行异常处理? 请说明throw 与 throws的区别与联系? 什么是包装类?,提问,本章案例,开发小型电影DVD在线销售系统 ,完成如下功能: 使用集合存储电影DVD 可以增、删、改、查集合中的电影DVD 使用电影分类名称关联不同类别的电影集合,并实现对电影集合的增、删、改、查操作,案例演示,本章目标,掌握Java集合框架的常用接口List(列表)、Map(映射) 掌握List接口的实现类ArrayList、LinkedList 掌握Map接口的实现类HashMap,集合入门,集合是若干用途、性质相同或相近的“数据”组合。 Java

2、集合中只能保存引用类型的数据,实际上存放的是对象的引用,而非对象本身,集合中元素相当于引用类型变量,集合中元素数目可以动态改变。 从体系上讲,集合类型可以归纳为三种: 集(Set) Set集合中不区分元素的顺序,不允许出现重复元素。 列表(List) List集合区分元素的顺序,且允许包含重复元素。 映射(Map) 映射中保存成对的“键-值” 信息,映射中不能包含重复的键,每个键最多只能映射一个值。,为何要用集合框架,如何存储全球所有的Java程序员信息?,如何存储Java程序员的身份证号与个人信息,能够通过身份证号方便地获得个人信息?,如果写程序时并不知道程序运行时会需要多少对象,或者,需要

3、更复杂的方式存储对象那么,可以使用Java集合框架,来解决这类问题,一维数组,两个一维数组内容一一对应,全球所有的Java程序员总数不确定,显然无法再使用数组保存,存储一个公司里Java程序员信息,假定公司里有10名Java程序员,一维数组,一维数组,Java集合框架的组成部分,1,接口,Collection,List,Map,2,具体类,List,ArrayList,LinkedList,Map,HashMap,3,算法,Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了 Java集合框架位于java

4、.util包中,Collections,提供了对集合进行排序、遍历等多种算法实现,采用键-值对的存储方式,长度可动态改变,采用线性列表的存储方式,长度可动态改变,可变大小的数组。它的优点在于遍历元素和随机访问元素的效率比较高。,相对于ArrayList而言,在插入或者删除元素时,LinkedList的效率更高。,把各个Object映射起来,实现了“键/值”对应的快速存取。,什么是ArrayList,ArrayList类是List接口的一个具体实现类 ArrayList 对象实现了可变大小的数组 随机访问和遍历元素时,它提供更好的性能,当元素个数增加为11个,创建了一个新的数组,把原数组中元素复

5、制进来,根据下标位置访问元素,什么时候使用ArrayList,我们分析案例:小型电影DVD在线销售系统,它需要完成如下功能: 能够存储n个电影DVD对象,数量不确定 能够获取电影DVD对象的总数 能够取出电影DVD对象并且逐条打印它的名称,存储方式如何选择?,元素个数不确定,使用集合类,需要遍历元素,存储对象如何确定?,类型:电影DVD对象,属性:电影ID、电影名称、电影定价,ArrayList类 遍历元素的效率比较高,如何使用ArrayList,第一步:确定集合中要存放的对象,如何使用ArrayList,第二步:使用ArrayList类提供的方法完成功能 1、按照顺序依次添加电影DVD对象

6、2、获取电影DVD对象的总数 3、根据索引获取相应电影DVD对象 4、逐条打印每条电影DVD对象的名称,顺序添加,索引位置从0开始,从集合中取出后为Object类型,需要进行强制类型转换,如何使用ArrayList,第三步:接下来扩展案例的功能,完成以下新增的需求: 在指定的位置添加电影DVD。 判断是否已经存在了某个电影DVD。 删除某个电影DVD。,顺序添加,索引位置从0开始,从集合中取出后为Object类型,需要进行强制类型转换,判断是否已经存在了某个电影DVD,删除某个电影DVD,在指定的位置添加元素,小结,创建一个类Student 包含属性name,在构造方法中进行初始化 添加一个方

7、法show(),用以打印name属性的值 创建一个类StudentTest,添加main方法,实现 创建一个ArrayList,向其中添加几个Student对象 遍历该集合,并且对每个Student对象调用show()方法,什么是LinkedList,LinkedList类是List接口的一个具体实现类 LinkedList 类用于创建链表数据结构 插入或者删除元素时,它提供更好的性能,什么时候使用LinkedList,继续分析案例:小型电影DVD在线销售系统需要增加新的功能,如下: 能够添加销售冠军电影DVD对象 能够删除销售最后一名的电影DVD对象,存储方式如何选择?,元素个数不确定,使用

8、集合类,需要在列表的头或尾添加、删除元素,LinkedList提供额外的 方法在列表的首部或尾部 添加或删除元素。,如何使用LinkedList,使用LinkedList类提供的方法完成功能 : 添加销售冠军、以及销售最后一名的电影DVD对象 获取销售冠军、以及销售最后一名的电影DVD对象 删除销售冠军、以及销售最后一名的电影DVD对象,小结,创建一个类Stack,代表堆栈(其特点为:后进先出),添加方法add(Object obj)、以及get(),添加main方法进行验证,要求: 使用LinkedList实现堆栈 在向LinkedList中添加时,使用addLast方法 在从LinkedL

9、ist中取出时,使用removeLast方法,演示:规范代码,什么是HashMap,Map接口用于维护“键-值对”的关联性,可以通过键查找值 HashMap是Map接口的一个具体实现类,什么时候使用HashMap,电影DVD在线销售系统中 ,每一部电影都会属于一种电影分类 ,一种电影分类包含N部电影,科幻电影,阿凡达、暮光之城,恐怖电影,贞子缠身、咒怨,现在希望根据电影分类查询关联的影片集合,如何实现?,存储方式如何选择?,元素个数不确定,使用集合类,通过key(电影分类)获得value(电影集合),HashMap是Map接口的实现类, 把各个Object映射起来,实现了 “键/值(key/v

10、alue)”对应的快速存取。,如何使用HashMap,第一步:确定集合中要存放的对象,存储对象如何确定?,键:String类型的电影分类,值:ArrayList集合对象,其中存储电影DVD对象,确定HashMap中的值对象,如何使用HashMap,第二步:使用HashMap类提供的方法完成功能 1、把电影分类与电影DVD集合按照“键-值对”的方式存储在HashMap中 2、分别打印键集、值集、以及键-值对集合 3、判断是否存在某个键,如果是,则根据键获取相应的值 4、根据键、删除某条记录,教员演示 MovieTest4.java,小结,创建一个类Book 包含属性:title(标题),使用构造

11、方法进行初始化 重写toString()方法,用以返回Title属性的值 创建一个类BookTest,添加main方法,要求: 使用HashMap进行存储,键为Book对象的编号,值为Book对象 通过某一个编号获取Book对象,并打印该Book对象的标题,使用集合框架注意事项,Object,Object,Object,加入集合,从集合中取出,(Rabbit) object,(Car) object,(Student) object,任何对象加入集合类后,自动转变为Object类型;取出时,需要进行强制类型转换,恢复为特定的类型,总结,List、Map是否都继承自Collection接口 ?

12、ArrayList类的常用方法和作用? LinkedList类的常用方法和作用? HashMap类的常用方法和作用? 请说明集合类ArrayList与 HashMap的区别?,提问,import java.util.*; public class MovieTest4 public static void main(String args) / 创建科幻电影DVD对象 Movie avatar = new Movie(1, 阿凡达, 50); Movie twilight = new Movie(2, 暮光之城, 30); / 创建恐怖电影DVD对象 Movie zhenZi = new Mo

13、vie(1, 贞子缠身, 45); Movie anathema = new Movie(2, 咒怨, 35); / 创建科幻电影集合,存储科幻电影DVD对象 List scienceFictionList = new ArrayList(); scienceFictionList.add(avatar); scienceFictionList.add(twilight); / 创建恐怖电影集合,存储恐怖电影DVD对象 List draculaMovieList = new ArrayList(); draculaMovieList.add(zhenZi); draculaMovieList.

14、add(anathema); Map movies = new HashMap(); movies.put(科幻电影, avatar); movies.put(恐怖电影, zhenZi); / 分别打印键集、值集和“键-值”对集合 /Iterator iter=movies.iterator(); System.out.println(键的集合: + movies.keySet(); System.out.println(值的集合: + movies.values(); System.out.println(“键-值”对集合: + movies); / 判断是否存在指定的键,如果存在,根据键获取相应的值 String key = 科幻电影; if (movies.containsKey(key) System.out.println(键“+key+”对应的值:+movies); / 根据键删除某个元素 movies.remove(key); System.out.println(“键-值”对集合:+ movies.toString(); ,Thank You!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号