项目五用集合存储对象

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、按照顺序依次添加各类新闻标题
Байду номын сангаас
public clas2s、F获irs取tL新ev闻elT标itl题eD的B1总{数 publFFicii34rrs、 、sstttaLL根逐teeicvv据条eevll位打oTTiiidtt置印lleem获每ctaeais取条rnt(=相 新=Sntnr应 闻eienww新 标gF[F]闻 题iirarssr标 的tgtLLs题 名ee)vv{e称ellTTiittllee((12,,""汽高车考"",,""管管理理员员"",,nneewwDDaattee(())));;
public FirstLevelTitle(int id, String titleName, String creater,Date createTime) { this.id = id; this.titleName = titleName; this.creater = creater; this.createTime = createTime;
} public String getTitleName() {
return titleName; } public void setTitleName(String titleName) {
this.titleName = titleName; } }
List接口和ArrayList类 5-4
第三步:具体实现
List接口和ArrayList类 5-1
开发一套小型的新闻管理系统,要求如下:
可以存储各类新闻标题(包含ID、名称、创建者、创建时间) 可以获取新闻标题的总数 可以逐条打印每条新闻标题的名称
存储方式如何选择? 存储对象如何确定?
元素个数不确定
使用集合类
需要遍历元素 类型:新闻标题 属性:ID、名称、创建者、创建时间
元素 元素 元素 元素 元素 元素 元素 元素 元素 元素
1
2
3
4
5
6
7
8
9 10
01
2
3
4
5
6
7
8
9
当元素个数增
加为11个
元素 元素 元素 元素 元素 元素 元素 元素 元素 元素 元素 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10
创建了一个新的数组,把 原数组中元素复制进来
Map
采用键-值对的存储方式, 长度可动态改变
采用线性列表的存储方式, 长度可动态改变
Map
ArrayList
LinkedList
HashMap
3 算法 Collections
提供了对集合进 行排序、遍历等 多种算法实现
Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我 们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中 出现的问题了 Java集合框架位于java.util包中
新闻N
如何存储课程的代码与课程信息,能够通过代码方便地 获得课程信息?
代码1 一一对应 课程1
…… ……
代码N 课程N
如果写程序时并不知道程序运行时会需要多少对象,或者,需要更复杂的 方式存储对象——那么,可以使用Java集合框架,来解决这类问题
Java集合框架包含的内容
1 接口 2 具体类
Collection List List
指定位置处添加的元素
boolean
contains(Object o)
判定列表是否存在指定的元素
boolean
remove(Object o)
从列表中删除元素
List接口和ArrayList类 5-2
第一步,确定存储方式
1、ArrayList类是List接口的一个具体实现类 2、ArrayList 对象实现了可变大小的数组 3、随机访问和遍历元素时,它提供更好的性能
List newsTitleList = new ArrayList();
1 newsTitleList.add(car);
newsTitleList.add(test);
顺序添加,位置从0开始
2 System.out.println("新闻标题数目为:" + newsTitleList.size() + "条");
用集合存储对象
回顾
什么是异常?Java中,如何进行异常处理? 请说明throw 与 throws的区别与联系?
预习检查
List、Map是否都继承自Collection接口 ? 请说明集合类ArrayList与 HashMap的区别?
本章任务
开发一套小型的新闻管理系统,完成如下功能:
使用集合类存储新闻标题 可以对新闻标题进行增、删、改、查
根据下标位置访问元素
List接口和ArrayList类 5-3
第二步:确定存储对象
public clas1s、Fi创rst建Le类ve型lT:itle新{闻标题 private2i、nt包id含; 属性: ID、//I名D 称、创建者、创建时间
private String titleName; //名称 private String creater; //创建者 private Date createTime; //创建时间
使用英文名称关联不同的学员,并实现对学员的增、删、 改、查操作
本章目标
掌握Java集合框架的常用接口 掌握常用集合类:ArrayList、LinkedList、HashMap
为什么需要集合框架
存储一个班的学员信息,假定一个班容纳20名学员
学 员
一维数组
1
如何存储每天的新闻信息?
新闻1
……
学 员 每天的新闻总20数不 确定,显然无法再 使用数组保存
List接口的常用方法(也是 ArrayList的各种常用方法)
返回类型
方法
说明
本章目标
boolean
add(Object o )
在列表末尾顺序添加元素,开始位置是0
int
size()
返回列表中元素个数
Object
get(int index)
返回指定位置处的元素,使用前进行类型转换
void
add(int index,Object o )
print(newsTitleList); }
控制台输出
新闻标题数目为:2条 1:汽车
public static void print(List newsList) {
2:高考
for (int i = 0; i < newsList.size(); i++) {
3 FirstLevelTitle title = (FirstLevelTitle) newsList.get(i); 4 System.out.println(i + 1 + ":" + title.getTitleName());
相关文档
最新文档