- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
项目5使用集合
Java程序设计
项目描述/Projectdescription
本项目通过模拟学生管理系统、模拟用户注册、模拟商超模块购物车三个任务,讲解如何选用合适的集合来存储不同的数据,从而了解List集合、Set集合、Map集合的具体应用。
使用List存储数据
任务1
Java集合概述
Java集合类是指Java中设计用于容纳对象的各种数据结构,通常也称为容器类。Java集合框架则是指由Java集合类以及相关操作构成的体系结构,包含接口、接口的实现类和对集合运算的算法,如右图:
Collection接口
方法
描述
booleanadd(Objecto)
向集合中添加一个元素
booleanaddAll(Collectionc)
将指定collection中的所有元素都添加到集合中
voidclear()
移除集合中的所有元素
booleanremove(Object
o)
在集合中移除指定的元素
booleanisEmpty()
判断集合是否为空
Iteratoriterator()
迭代器,用于遍历集合中的元素
intsize()
集合中成员的个数
booleancontains(Objecto)
判断集合中是否包含元素o
Collection接口是List和Set的父接口,在Collection中定义了通用的一些方法用于操作List和Set集合的增删改查操作。
List接口
方法
描述
booleanadd(int
index,Object
element)
在集合的index处插入元素element
booleanaddAll(intindex,Collectionc)
将指定collection中的所有元素都添加到集合的index处
Objectget(intindex)
获取集合index处的元素
Objectremove(intindex)
在集合中移除index处的元素
Objectset(intindex,Objectelement)
将集合中index处的元素替换成element
IntindexOf(Objecto)
返回对象o在集合中的位置索引
IntlastIndexOf(Objecto)
返回对象o在集合中的最后一次出现的位置索引
ListsubList(intfromindex,inttoindex)
返回从索引fromindex(包括)到toindex(不包括)处所有元素集合组成的子集合
ArrayList集合
LinkedList集合
List接口的另一个实现类是LinkedList,该集合内部维护了一个双向循环的链表。
方法
描述
voidaddFirst(Object
o)
在集合的开头插入元素o
voidaddLast(Object
o)
在集合的插入元素o
ObjectgetFirst()
获取集合第一个元素
ObjectgetLast()
获取集合最后一个元素
ObjectremoveFirst()
移除集合中第一个元素
ObjectremoveLast()
移除集合中最后一个元素
Iterator接口
Iterator接口主要用于迭代访问(即遍历)Collection中的元素,又称为迭代器。它仅提供三个方法:hashNext()、next()、remove()。
Iterator接口
需要特别说明的是,当通过迭代器获取ArrayList集合中的元素时,此时这些元素都被当成Object类型,如果想得到特定类型的元素,则需要进行强制类型转换。
Iterator接口
在使用迭代器Iterator对集合中的元素进行迭代时,如果同时调用了集合对象的add或remove的方法,会出现异常。
解决方式如下:迭代器可以改成专门针对List集合特有的ListIterator,该迭代器本身多了一个add的方法,这样就可以不用集合的add的方法了
forEach遍历
(1)foreach循环来遍历数组或集合中的元素,语法如下:
(2)foreach循环会自动遍历容器中的每个元素,代码如下:
任务实施
任务
分析
学生管理系统首页及每个功能的具体要求如下。
系统首页:用于显示系统所有的操作,并根据用户在控制台的输入选择需要使用的功能。
查询功能:用于选择该功能后,在控制台打印所有学生的信息。
添加功能:用户选择该功能后,要求用户在控制台输入学生学号、姓名、年龄和居住地的基本信息。在输入学号时,判断学号是否被占用,如果被占用则添加失败,并给出相应的提示;返之则提示添加成功。
删除功能:用户选择该功能后,提示用户在控制台输入需要删除的学
您可能关注的文档
- 《Java面向对象程序设计》课件——项目4 Java API.pptx
- 《Java面向对象程序设计》课件——项目6 使用IO流.pptx
- 《Java面向对象程序设计》课件——项目1 Java开发入门.pptx
- 《Java面向对象程序设计》课件——项目2 Java编程基础.pptx
- 《Java面向对象程序设计》课件——项目3 面向对象编程.pptx
- 《python金融大数据分析》课件——任务三 Python标准库爬取金融数据.pptx
- 《python金融大数据分析》课件——任务四 Python网页文本数据库爬取金融数据.pptx
- 大学跨文化英语口语教程4(史墨伍德)课后习题答案解析.pdf
- 电力系统分析(上)第四版(何仰赞)习题详解.pdf
- 当代大学德语Lektion1-7课后习题答案.pdf
文档评论(0)