Java语言程序设计C
实验报告
集合框架及泛型机制
学生姓名
专业、班级
指导教师
成绩
计算机与信息工程学院
年月日
一、实验目的
学习课程相关章节知识,通过上机练习,掌握以下知识:
1.掌握List接口下ArrayList及LinkedList的使用方法。
2.掌握Map接口下HashMap 及HashTable的使用方法
3.掌握集合中泛型的使用
二、实验内容
利用集合完成象数据库那样存储数据,并且可以简单查询,利用map存储学生信息,字段如下: id ,name,age,实现步骤:
(1)创建类,类图如下:
(2)在main方法编写逻辑代码
(3)运行程序并测试结果
package com、cn;
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 com、cn;
import java、util、Collection;
import java、util、HashMap;
import java、util、Iterator;
public class Databace {
private Student a;
public Databace() {
super();
map=new HashMap<String,Student>();
}
public Student getA() {
return a;
}
public void setA(Student a) {
this、a = a;
}
HashMap<String,Student> map;
public void delete()
{
System、out、println("请输入要删除表中元素ID");
String id=Test、sc、next();
if(map、containsKey(id))
{
map、remove(id);
Collection<Student> c=map、values();
Iterator<Student> it=c、iterator();
while(it、hasNext())
{
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(id, a);
System、out、println("成功的插入一条记录");
}
public void update()
{
System、out、println("请输入要修改表中元素ID");
String id=Test、sc、next();
if(map、containsKey(id))
{
map、remove(id);
System、out、println("按顺序输入name,age,id");
id=Test、sc、next();
String name=Test、sc、next();
int age=Test、sc、nextInt();
a=new Student(id,age,name);
map、put(id, a);
}
else
{
System、out、println("表中没有该元素");
}
}
public void select()
{
System、out、println("请输入要查询的方式1、查询单行2、查询全部");
int i=Test、sc、nextInt();
switch(i)
{
case 1:
{
System、out、println("请输入要查询表中元素ID");
String id=Test、sc、next();
if(map、containsKey(id))
{
a=map、get(id);
a、sayHi();
}
else
{
System、out、println("表中没有该元素");
}
}break;
case 2:
{
Collection<Student> c=map、values();
Iterator<Student> it=c、iterator();
while(it、hasNext())
{
a=it、next();
a、sayHi();
}
}break;
}
}
}
//test
package com、cn;
import java、util、*;
public class Test {
/**
* @param args
*/
public static Scanner sc=new Scanner(System、in);
public static void main(String[] args)
{
// TODO Auto-generated method stu
int i=0;
Databace d=new Databace();
while(i==0)
{
System、out、println("1、储存学生信息");
System、out、println("2、查询学生信息");
System、out、println("3、修改学生信息");
System、out、println("4、删除学生信息");
System、out、println("退出");
int j=Test、sc、nextInt();
switch(j)
{
case 1:
d、insert();break;
case 2:
d、select();break;
case 3:
d、update();break;
case 4:
d、delete();break;
default:
i=1;
}
}
}
}
提示:用id做map集合的键部分,用student对象做map集合的值部分效果显示:
三、实验思想
四、实验结果
五、实验心得。