package?com.imooc.collection;
import?java.util.HashMap;
import?java.util.Map;
import?java.util.Scanner;
import?java.util.Set;
public?class?MapTest?{
????/**
?????*?創(chuàng)建Map類型的屬性用于存儲學(xué)生對象
?????*/
????public?Map<String,Student>?students;
????/**
?????*?在構(gòu)造器中初始化students屬性
?????*/
????public?MapTest(){
????????this.students=new?HashMap<String,Student>();
????}
????/**測試添加,輸入學(xué)生ID,查找如果存在就返回
?????*?如果不存在就輸入姓名,創(chuàng)建學(xué)生對象,并且添加到students中*/
????public?void?testPut()
????{
????????Scanner?console=new?Scanner(System.in);
????????int?i=0;
????????while(i<3)
????????{
????????????System.out.println("請輸入學(xué)生ID");
????????????String?ID=console.next();
????????????//判斷ID是否已經(jīng)被占用
????????????Student?st=students.get(ID);//使用鍵值?String?ID去獲取實(shí)值Student
????????????if(st==null){
????????????????System.out.println("請輸入學(xué)生的姓名");
//????????????????st.setName(console.next());
//????????????????st.setId(ID);
????????????????String?name=console.next();
????????????????Student?newStu=new?Student(ID,name);
????????????????
????????????????students.put(ID,newStu);
????????????????System.out.println("成功添加一個學(xué)生,ID="+ID+"NAME="+newStu.getName());
????????????????i++;
????????????}
????????????else
????????????{
????????????????System.out.println("該學(xué)生已經(jīng)存在");
????????????????continue;
????????????}
????????}
????}
????/**
?????*?測試keySet方法遍歷Map中的元素*/
????void?testKeySet()
????{
????????//因?yàn)閟tudents的鍵值是String類型的,所以需要String類型的Set泛型去接收它的值
????????//浙江keySet對象就存儲了Map中所有“鍵值”
????????Set<String>?keySet=students.keySet();
????????//取得students的容量
????????System.out.println("Map容器中的students對象大小為:"+students.size());
????????//遍歷所有的keySet取得每個鍵值,然后用get方法取得每個實(shí)值
????????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?mapTest=new?MapTest();
????????mapTest.testPut();
????????mapTest.testKeySet();
????}
}
2021-07-26
沒有student對象,你這么用setXxx()方法呢
2021-05-06