package?Test;
import?java.util.HashMap;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;
public?class?MapTest?{
????//?創(chuàng)建一個(gè)承接學(xué)生類(lèi)型對(duì)象的Map屬性
????public?Map<String,Student>?students;
????//?構(gòu)造器中初始化student屬性
????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是否被占用
????????????Student?st?=?students.get(ID);
????????????if?(st?==?null){
????????????????//?提示輸入學(xué)生姓名
????????????????System.out.println("請(qǐng)輸入學(xué)生姓名:");
????????????????String?name?=?console.next();
????????????????//創(chuàng)建新的學(xué)生對(duì)象newStudent,把ID和name傳遞進(jìn)去
????????????????Student?newStudent?=?new??Student(ID,name);
????????????????//通過(guò)調(diào)用students的put方法,添加ID-學(xué)生映射
????????????????students.put(ID,newStudent);
????????????????//通過(guò)students的get方法取得和ID對(duì)應(yīng)的姓名對(duì)象
????????????????System.out.println("成功添加學(xué)生:"+students.get(ID).getName());
????????????????i++;
????????????}else?{
????????????????System.out.println("該學(xué)生ID已被占用!");
????????????????continue;
????????????}
????????}
????}
????//測(cè)試Map的keSet方法
????public?void?testKeySet()?{
????????//因?yàn)橥ㄟ^(guò)泛型規(guī)定了鍵的類(lèi)型是String,所以要通過(guò)泛型為String的Set對(duì)象接收keySet方法的返回值
????????//通過(guò)keySet方法,返回Map中的所有“鍵”的Set集合
????????Set<String>?keySet?=?students.keySet();
????????//?取得students的容量
????????System.out.println("總共有:"+students.size()+"名學(xué)生");
????????//?遍歷keySet對(duì)象,取得每一個(gè)鍵,在調(diào)用gei方法取得每個(gè)鍵對(duì)應(yīng)的value
????????for?(String?stuId?:?keySet)?{
?????????????Student?st?=?students.get(stuId);??//取值
????????????if?(st?!=?null)?{
????????????????System.out.println("學(xué)生:"+st.getName());
????????????}
????????}
????}
????public?static?void?main(String[]?args)?{
????????MapTest?mt?=?new?MapTest();
????????mt.testPut();
????????mt.testKeySet();
????}
}
2019-10-30
我和你一樣。用的myeclipse。都是順序的
2019-07-01
巧合,多運(yùn)行幾次