欢迎来到天天文库
浏览记录
ID:37598517
大小:914.31 KB
页数:26页
时间:2019-05-12
《项目五用集合存储对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用集合存储对象回顾什么是异常?Java中,如何进行异常处理?请说明throw与throws的区别与联系?2预习检查List、Map是否都继承自Collection接口?请说明集合类ArrayList与HashMap的区别?3本章任务开发一套小型的新闻管理系统,完成如下功能:使用集合类存储新闻标题可以对新闻标题进行增、删、改、查使用英文名称关联不同的学员,并实现对学员的增、删、改、查操作4掌握Java集合框架的常用接口掌握常用集合类:ArrayList、LinkedList、HashMap本章目标5为什么需要集合框架学员1学员20如何存储每天的新闻信息?如何存储课程的代码与课程信息
2、,能够通过代码方便地获得课程信息?如果写程序时并不知道程序运行时会需要多少对象,或者,需要更复杂的方式存储对象——那么,可以使用Java集合框架,来解决这类问题一维数组代码1……代码N课程1……课程N一一对应新闻1……新闻N每天的新闻总数不确定,显然无法再使用数组保存存储一个班的学员信息,假定一个班容纳20名学员6Java集合框架包含的内容1接口CollectionListMap2具体类ListArrayListLinkedListMapHashMap3算法Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际
3、应用中出现的问题了Java集合框架位于java.util包中Collections提供了对集合进行排序、遍历等多种算法实现采用键-值对的存储方式,长度可动态改变采用线性列表的存储方式,长度可动态改变7List接口和ArrayList类5-1开发一套小型的新闻管理系统,要求如下:可以存储各类新闻标题(包含ID、名称、创建者、创建时间)可以获取新闻标题的总数可以逐条打印每条新闻标题的名称存储方式如何选择?元素个数不确定使用集合类需要遍历元素存储对象如何确定?类型:新闻标题属性:ID、名称、创建者、创建时间8本章目标List接口的常用方法(也是ArrayList的各种常用方法)返回类型
4、方法说明booleanadd(Objecto)在列表末尾顺序添加元素,开始位置是0intsize()返回列表中元素个数Objectget(intindex)返回指定位置处的元素,使用前进行类型转换voidadd(intindex,Objecto)指定位置处添加的元素booleancontains(Objecto)判定列表是否存在指定的元素booleanremove(Objecto)从列表中删除元素9List接口和ArrayList类5-2第一步,确定存储方式1、ArrayList类是List接口的一个具体实现类2、ArrayList对象实现了可变大小的数组3、随机访问和遍历元素时
5、,它提供更好的性能元素1元素2元素3元素4元素5元素6元素7元素8元素9元素10当元素个数增加为11个0129345786元素1元素2元素3元素4元素5元素6元素7元素8元素9元素10元素11创建了一个新的数组,把原数组中元素复制进来012934578610根据下标位置访问元素10List接口和ArrayList类5-3第二步:确定存储对象1、创建类型:新闻标题2、包含属性:ID、名称、创建者、创建时间publicclassFirstLevelTitle{privateintid;//IDprivateStringtitleName;//名称privateStringcreate
6、r;//创建者privateDatecreateTime;//创建时间publicFirstLevelTitle(intid,StringtitleName,Stringcreater,DatecreateTime){this.id=id;this.titleName=titleName;this.creater=creater;this.createTime=createTime;}publicStringgetTitleName(){returntitleName;}publicvoidsetTitleName(StringtitleName){this.titleName=
7、titleName;}}11List接口和ArrayList类5-4第三步:具体实现1、按照顺序依次添加各类新闻标题2、获取新闻标题的总数3、根据位置获取相应新闻标题4、逐条打印每条新闻标题的名称publicclassFirstLevelTitleDB1{publicstaticvoidmain(String[]args){FirstLevelTitlecar=newFirstLevelTitle(1,"汽车","管理员",newDate());FirstLevelTitlete
此文档下载收益归作者所有