package?com.imooc_collection;
import?java.util.HashMap;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;
public?class?MapTest?{
?/**
??*?用來承裝學生類型對象
??*?@param?args
??*/
?public?Map<String,Student>students;
?/**
??*?在構(gòu)造器中初始化student屬性
??*?@param?args
??*/
?public?MapTest(){
??this.students=new?HashMap<String,Student>();
?}
?/**
??*?測試添加:輸入學生ID,判斷是否被占用
??*?若違背占用,則輸入姓名,創(chuàng)建新學生對象,并且
??*?添加到student中
??*?@param?args
??*/
?public?void?testPut(){
??Scanner?console=new?Scanner(System.in);
??int?i=0;
??while(i<3){
???System.out.println("請輸入學生ID:");
???String?ID=console.next();
???//判斷該ID是否被占用
???Student?st=students.get(ID);
???if(st==null){
????System.out.println("請輸入學生姓名:");
????String?name=console.next();
????//創(chuàng)建一個新的學生對象
????Student?newStudent=new?Student(ID,name);
????//通過調(diào)用student的put方法,添加ID-學生映射
????students.put(ID,newStudent);
????System.out.println("成功添加學生:"+students.get(ID).name);
????i++;
???}else{
????System.out.println("該學生ID已被占用!");
????continue;
???}
??}
?}
?
?/**
??*?測試Map的KepSet方法
??*?@param?args
??*/
?public?void?testKeySet(){
??//通過keySet方法,返回Map中的所有“鍵”的set集合
??Set<String>keySet=students.keySet();
??//取得students的容量
??System.out.println("總共有:"+students.size()+"個學生!");
??//遍歷keySet,取得每一個鍵,再調(diào)用get方法取得每個鍵對應(yīng)的value
??for(String?stuId:keySet){
???Student?st=students.get(stuId);
???if(st!=null){
????System.out.println("學生:"+st.name);
???}
??}
?}
?public?static?void?main(String[]?args)?{
??//?TODO?Auto-generated?method?stub
??MapTest?mt=new?MapTest();
??mt.testPut();
??mt.testKeySet();
?}
}
2016-10-16
你的代碼沒問題,我運行了的,可以輸出啊
2016-10-09
發(fā)斯蒂芬