创建了Pupil类用于存储学生信息。
然后在MapTest中对map类进行增、删、改、查。
基本实现功能,代码如下:
package com.Map.test;
public class Pupil {
int Id;
String Name;
public Pupil(int id ,String name){
Id = id;
Name = name;
}
public Pupil(){
}
}
MapTest类
package com.Map.test;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class MapTest {
public Map<String,Pupil> Students;
public MapTest(){
this.Students = new HashMap<String,Pupil>();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mapt = new MapTest();
mapt.AddPupil();
mapt.showPupil();
mapt.deletePupil();
mapt.showPupil();
mapt.modifyPupil();
mapt.showPupil();
}
/**
* AddPupil函数的作用,使用其添加学生信息,如学生的键,ID和值。
*/
public void AddPupil(){
int i=0;
System.out.println("请输入学生的信息:");
Scanner Console = new Scanner(System.in);
while(i<3){
System.out.println("请输入学生的键:");
Pupil st = new Pupil();
int add_Id;
String add_Name;
String add_Key; //获取key
add_Key = Console.next();
//判断输入的ID是否已经存在;
Pupil add_return = Students.get(add_Key);
if(add_return==null){ //说明输入的Key不存在,可以加入
System.out.println("输入学生的ID:");
add_Id = Console.nextInt();
System.out.println("输入学生的姓名:");
add_Name = Console.next();
st.Id = add_Id;
st.Name = add_Name;
Students.put(add_Key, st);
}
else{
System.out.println("输入的键值已经存在,请重新输入:");
continue;
}
i++;
}
}
/*
* showPupil,通过foreach的方法遍历输出student元素
*/
public void showPupil(){
//获得Student中所以得key
Set<String> StudentKeys = Students.keySet() ;
System.out.println("学生的信息为:");
for(String temp : StudentKeys){
System.out.println("学生的键为:"+temp+",学生的ID为:"+Students.get(temp).Id+
",学生的姓名是:"+Students.get(temp).Name);
}
}
public void deletePupil(){
String delete_Key; //输入要删除学生的键
Scanner conse = new Scanner(System.in);
while(true){
System.out.println("请输入要删除学生的键:");
delete_Key = conse.next();
Pupil st = new Pupil();
st = Students.get(delete_Key);
if(st!=null){
Students.remove(delete_Key);
System.out.println("要删除学生的ID是:"+st.Id+",姓名是:"+st.Name);
break;
}
else
System.out.println("没有这个键,请重新输入。");
}
}
/*
* modifyPupil通过给定的键,调用put方向修改在该键处的值
*/
public void modifyPupil(){
String modify_key;
Scanner sca = new Scanner(System.in);
Pupil temp = new Pupil();
int modify_Id;
String modify_Name;
while(true){
System.out.println("输入要修改学生的key:");
modify_key = sca.next();
temp = Students.get(modify_key);
if(temp!=null){ //若不为空
System.out.println("要修改的学生信息为:");
System.out.println("学生的ID:"+temp.Id+",学生的姓名:"+temp.Name);
System.out.println("请输入要修改的信息:");
System.out.println("学生的ID:");
modify_Id = sca.nextInt();
System.out.println("学生的姓名:");
modify_Name = sca.next();
Pupil NewStudent = new Pupil(modify_Id,modify_Name);
Students.put(modify_key, NewStudent);
System.out.println("修改成功!");
break;
}
else{
System.out.println("没有这个key值");
continue;
}
}
}
}