当前位置:文档之家› JAVA实验报告-集合框架与泛型机制

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C
实验报告
集合框架及泛型机制
学生姓名
专业、班级
指导教师
成绩
计算机与信息工程学院
年月日
一、实验目的
学习课程相关章节知识,通过上机练习,掌握以下知识:
1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。

2.掌握 Map 接口下 HashMap 及 HashTable的使用方法
3.掌握集合中泛型的使用
二、实验内容
利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤:
(1)创建类,类图如下:
(2)在 main 方法编写逻辑代码
(3)运行程序并测试结果
package ;
public class Student {
private String name ;
private int age ;
private String id ;
public String getName() {
return name ;
}
public void setName(String name ) {
this . name =name ;
}
public int getAge() {
return age ;
}
public void setAge(int age ) {
this. age=age ;
}
public String getId() {
return id;
}
public void setId(String id) {
this. id=id;
}
public Student(String name ,int age , String id ) {
super();
this. name =name ;
this. age=age ;
this. id=id;
}
public void sayHi()
{
System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId());
}
}
//Databace类package ;
import java.util.Collection; import java.util.HashMap; import java.util.Iterator;
public class
private
Databace { Student a ;
public Databace() {
super();
map= new HashMap<String,Student>(); }
public Student getA() {
return a;
}
public
this void
. a =
setA(Student
a;
a ) {
}
HashMap<String,Student>
public void delete()
{
map;
System. out .println( String id =Test.
if( map .containsKey(
" 请输入要删除表中元素
sc .next();
id ))
ID" );
{
map .remove(id );
Collection<Student> Iterator<Student> while ( it.hasNext())
c = map .values(); it= c .iterator();
{
a =it .next();
a .sayHi();
}
}
else
{
System. out .println(" 表中没有该元素" );
}
}
public void insert()
{
System. out .println(" 按顺序输入id、 age、 name" );
String name =Test. sc .next();
int age =Test. sc .nextInt();
String id =Test. sc .next();
a =new Student(name , age , id );
map .put( System.
id , a);
out .println(" 成功的插入一条记录" );
}
public void update() {
System. out .println( String id =Test.
if( map .containsKey(
" 请输入要修改表中元素
sc .next();
id ))
ID" );
{
map .remove(id );
System. out .println(" 按顺序输入
id =Test. sc .next();
String name =Test. sc .next();
int age =Test. sc .nextInt();
a =new Student(id , age , name );
map .put( id , a );
name,age,id");
}
else
{
System.out .println(" 表中没有该元素" );
}
}
public void select()
{
System. out .println(" 请输入要查询的方式
int i =Test. sc .nextInt();
switch ( i )
{
case 1:
{
1. 查询单行
2. 查询全部" );
System. out .println( String id =Test.
if( map .containsKey(
" 请输入要查询表中元素
sc .next();
id ))
ID" );
{
a =map .get( id );
a .sayHi();
}
else
{
System. out .println(" 表中没有该元素" );
}
} break ;
case 2:
{
Collection<Student> Iterator<Student> while ( it.hasNext())
c =map .values(); it= c .iterator();
{
a =it .next();
a .sayHi();
}
} break ;
}
}
}
//test
package import public
; java.util.*; class Test {
/**
*@param args */
public static public static {Scanner sc = new Scanner(System. void
main(String[] args )
in );
//TODO Auto-generated method stu
int i =0;
Databace d= new Databace();
while ( i ==0)
{
System.out .println("1.储存学生信息" );
System. out .println(
System. out .println(
System. out .println(
System. out .println( int j =Test. sc .nextInt(); switch ( j )
{
case 1:
d .insert();break cas
e 2:
d .select();break cas
e 3:
d .update();break cas
e 4:
d .delete();break
default:
i =1;;
;
;
;
"2.查询学生信息
"3.修改学生信息
"4.删除学生信息
"退出");
" );
" );
" );
}
}
}
}
提示:用 id 做 map 集合的键部分,用student 对象做 map 集合的值部分效果显示:
三、实验思想
四、实验结果
五、实验心得。

相关主题