Java集合框架实验报告

  • 格式:doc
  • 大小:134.00 KB
  • 文档页数:14

下载文档原格式

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

浙江大学城市学院实验报告

课程名称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 students = new ArrayList();

void deleteStudentById(String id){//根据学号删除学生对象

Iterator iterator = students、iterator();

while(iterator、hasNext())

{

Student st=(Student)iterator、next();

if(st、getId()==id) iterator、remove();

}

}

void deleteStudentByName(String name){//根据姓名删除学生对象Iterator iterator = students、iterator();

while(iterator、hasNext())

{

Student st=(Student)iterator、next();

if(st、getName()==name) iterator、remove();

}

}

void deleteStudentByAge(int age){//根据年龄删除学生对象

Iterator iterator = students、iterator();