import?java.util.HashMap;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;
public?class?MapTest?{
?//用來(lái)承裝學(xué)生類(lèi)對(duì)象
public?Map<String,Student>students;
//在構(gòu)造器中初始化students屬性
public?MapTest(){
this.students=new?HashMap<String,Student>();
}
//測(cè)試添加:輸入學(xué)生ID判斷是否被占用
//若未被占用,則輸入姓名,創(chuàng)建學(xué)生對(duì)象,并且添加到students中
public?void?testPut(){
Scanner?console=new?Scanner(System.in);
int?i=0;
while(i<3){
System.out.println("請(qǐng)輸入學(xué)生ID:");
String?ID=console.next();
//判斷是ID是否內(nèi)被占用
Student?st=students.get(ID);
if(st==null){
//提示輸入學(xué)生姓名
System.out.println("請(qǐng)輸入學(xué)生姓名:");
String?name=console.next();
//0創(chuàng)建學(xué)生對(duì)象
Student?newStudent=new?Student(ID,name);
students.put(ID,?newStudent);
System.out.println("成功添加學(xué)生:"+students.get(ID).name);
i++;
}else{
System.out.println("該ID已經(jīng)被占用");
?
}
}
}
/*
?*?*測(cè)試Map的keySet方法
?*?
?*/
public?void?testKeySet(){
//通過(guò)KeySet方法,但會(huì)Map中的所有“鍵”的set集合
Set<String>?KeySet=students.keySet();
//取得students的容量
System.out.println("總用有:"+students.size()+"個(gè)學(xué)生");
//通過(guò)遍歷keySet,取得每一個(gè)鍵,在調(diào)用get方法的每個(gè)鍵對(duì)應(yīng)的value值
for?(String?stuID:KeySet){
Student?st=students.get(stuID);
if(st!=null){
System.out.println("學(xué)生:"+st.name);
}
}
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
MapTest?mt=new?MapTest();
mt.testPut();
mt.testKeySet();
}
}
2017-05-31
我將你的代碼復(fù)制了一遍 ? 運(yùn)行了一下 ? 可以 ?沒(méi)報(bào)錯(cuò) ?,你的表述 問(wèn)題不太清晰,不知道具體問(wèn)題