Java集合框架实验报告.docx
- 文档编号:2278595
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:16
- 大小:88.92KB
Java集合框架实验报告.docx
《Java集合框架实验报告.docx》由会员分享,可在线阅读,更多相关《Java集合框架实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
Java集合框架实验报告
浙江大学城市学院实验报告
课程名称Java高级程序设计
实验项目名称Java集合框架实验
学生姓名专业班级学号
一、实验目的
1.理解Java集合框架的特点、接口与类之间的关系
2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList
3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet
4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap
5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式
二、实验内容
1、使用List管理对象集合
2、使用Map管理对象集合
3、使用Set管理对象集合
4、设计一个自定义的集合类
三、实验步骤
1、在Eclipse中新建工程(即项目)
2、使用List管理对象集合
1)新建一个包listExample
2)在这个包中新建三个类:
Student类,StudentList类,StudentListTest类。
参考代码:
Student.java,StudentList.java,StudentListTest.java
3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码(不使用泛型类)。
voidaddStudent(Studentstudent){//添加一个学生对象
booleana=true;
for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getId().equalsIgnoreCase(student.getId())) a=false; } if(a==true) students.add(student);//修改代码,保证students集合中所有学生对象的id号唯一 } voiddeleteStudentById(Stringid){//根据学号删除学生对象 for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getId().equalsIgnoreCase(id)) students.remove(stud); } } voiddeleteStudentByName(Stringname){//根据姓名删除学生对象 for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getName().equalsIgnoreCase(name)) students.remove(stud); } } voiddeleteStudentByAge(intage){//根据年龄删除学生对象 for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getAge()==age) students.remove(stud); } } Student[]findByName(Stringname){ inta=0; for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getName().equalsIgnoreCase(name)) a++; } Student[]st=newStudent[a]; intb=0; for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getName().equalsIgnoreCase(name)){ st[b]=stud; b++; } } returnst; } Student[]findByAge(intage){ inta=0; for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getAge()==age) a++; } Student[]st=newStudent[a]; intb=0; for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getAge()==age) {st[b]=stud;b++;} } returnst; } 4)新创建listExample2包,重新设计设计上述程序(新程序都属于这个包),这时需要使用泛型类,即出现的List、ArrayList或LinkedList都使用泛型。 privateList voiddeleteStudentById(Stringid){//根据学号删除学生对象 Iterator while(iterator.hasNext()) { Studentst=(Student)iterator.next(); if(st.getId()==id)iterator.remove(); } } voiddeleteStudentByName(Stringname){//根据姓名删除学生对象 Iterator while(iterator.hasNext()) { Studentst=(Student)iterator.next(); if(st.getName()==name)iterator.remove(); } } voiddeleteStudentByAge(intage){//根据年龄删除学生对象 Iterator while(iterator.hasNext()) { Studentst=(Student)iterator.next(); if(st.getAge()==age)iterator.remove(); } } List List for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getName().equals(name)){ studs.add(stud); } } returnstuds; } List List for(inti=0;i Studentstud=(Student)students.get(i); if(stud.getAge()==age) studs.add(stud); } returnstuds; } 3、使用Map管理对象集合 1)新建一个包MapExample 2)在这个包中新建三个类: Student类,StudentMap类,StudentMapTest类。 参考代码Student.java,StudentMap.java,StudentMapTest.java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码(不使用泛型类)。 voiddeleteStudentByName(Stringname){//根据学生姓名删除学生对象 Collection Iterator while(it.hasNext()){ if(it.next().getName().equals(name)) it.remove(); } } voiddeleteStudentByAge(intage){//根据学生年龄删除学生对象 Collection Iterator while(it.hasNext()){ if(it.next().getAge()==age) it.remove(); } } Student[]findByName(Stringname){ inta=0; Collection Iterator while(it.hasNext()){ if(it.next().getName().equals(name)) a++; } intb=0; Student[]s=newStudent[a]; Collection Iterator while(it1.hasNext()){ Studentss=it1.next(); if(ss.getName().equals(name)) {s[b]=ss; b++; } } returns; } Student[]findByAge(intage){ inta=0; Collection
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 集合 框架 实验 报告