Java集合框架实验报告
- 格式:doc
- 大小:134.00 KB
- 文档页数:14
浙江大学城市学院实验报告
课程名称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)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,
给出具体的实现代码(不使用泛型类)。
void addStudent(Student student){//添加一个学生对象
boolean a=true;
for(int i=0;i Student stud = (Student)students、get(i); if(stud、getId()、equalsIgnoreCase(student、getId())) a=false; } if(a==true) students、add(student);//修改代码,保证students集合中所有学生对象的id号唯一 } void deleteStudentById(String id){//根据学号删除学生对象 for(int i=0;i Student stud = (Student)students、get(i); if(stud、getId()、equalsIgnoreCase(id)) students、remove(stud); } } void deleteStudentByName(String name){//根据姓名删除学生对象for(int i=0;i Student stud = (Student)students、get(i); if(stud、getName()、equalsIgnoreCase(name)) students、remove(stud); } } void deleteStudentByAge(int age){//根据年龄删除学生对象 for(int i=0;i Student stud = (Student)students、get(i); if(stud、getAge()==age) students、remove(stud); } } Student[] findByName(String name){ int a=0; for(int i=0;i Student stud = (Student)students、get(i); if(stud、getName()、equalsIgnoreCase(name)) a++; } Student[] st=new Student[a]; int b=0; for(int i=0;i Student stud = (Student)students、get(i); if(stud、getName()、equalsIgnoreCase(name)){ st[b]=stud; b++; } } return st; } Student[] findByAge(int age){ int a=0; for(int i=0;i Student stud = (Student)students、get(i); if(stud、getAge()==age) a++; } Student[] st=new Student[a]; int b=0; for(int i=0;i Student stud = (Student)students、get(i); if(stud、getAge()==age) {st[b]=stud;b++;} } return st; } 4)新创建listExample2包,重新设计设计上述程序(新程序都属于这个包),这时需 要使用泛型类,即出现的List、ArrayList或LinkedList都使用泛型。 private List void deleteStudentById(String id){//根据学号删除学生对象 Iterator while(iterator、hasNext()) { Student st=(Student)iterator、next(); if(st、getId()==id) iterator、remove(); } } void deleteStudentByName(String name){//根据姓名删除学生对象Iterator while(iterator、hasNext()) { Student st=(Student)iterator、next(); if(st、getName()==name) iterator、remove(); } } void deleteStudentByAge(int age){//根据年龄删除学生对象 Iterator