public class MapTest {
public Map<String,Students> stu;
Scanner input = new Scanner(System.in);
/*
* MapTest构造函数;
*/
public MapTest(){
this.stu = new HashMap<String,Students>();
}
/*
* 添加方法(给MAP添加学生对象)
* 输入ID,如果ID不存在,则继续添加name
* 如果ID存在,提示此ID已存在
*/
public void Put(){
int i = 1;
System.out.println("添加方法运行了,请添加3个学生!");
while(i != 0 ){
System.out.println("请输入学生ID:");
String id = input.next();
if(stu.get(id)==null){//get方法是得到对应ID的value;
System.out.println("请输入学生name: ");
String name = input.next();
Students st = new Students(id,name);//将id和name属性给学生对象;
stu.put(id, st);//添加ID和学生对象;
}else{
System.out.println("该ID已被占用,请重新输入:");
}
System.out.println("继续添加请输入1,停止添加请输入0");
i = input.nextInt();
}
}
/*
* 2种方法遍历MAP
*/
public void forEach(){
System.out.println("学生库中有"+stu.size()+"个学生:");
// for(String sr:stu.keySet()){//keySet返回的是key集,遍历id从而得到student;
// System.out.println(sr+":"+stu.get(sr).name);
// }
for(Students ss:stu.values()){//values返回的是value集,遍历value直接得到student;
System.out.println(ss.id+":"+ss.name);
}
}
/*
* args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mt = new MapTest();
mt.Put();
mt.forEach();
}
}