package com.imooc_collection;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;public class MapTest {?/**? * 用來(lái)承裝學(xué)生類型對(duì)象? * @param args? */?public Map<String,Student>students;?/**? * 在構(gòu)造器中初始化student屬性? * @param args? */?public MapTest(){??this.students=new HashMap<String,Student>();?}?/**? * 測(cè)試添加:輸入學(xué)生ID,判斷是否被占用? * 若違背占用,則輸入姓名,創(chuàng)建新學(xué)生對(duì)象,并且? * 添加到student中? * @param args? */?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){????System.out.println("請(qǐng)輸入學(xué)生姓名:");????String name=console.next();????//創(chuàng)建一個(gè)新的學(xué)生對(duì)象????Student newStudent=new Student(ID,name);????//通過(guò)調(diào)用student的put方法,添加ID-學(xué)生映射????students.put(ID,newStudent);????System.out.println("成功添加學(xué)生:"+students.get(ID).name);????i++;???}else{????System.out.println("該學(xué)生ID已被占用!");????continue;???}??}?}??/**? * 測(cè)試Map的KepSet方法? * @param args? */?public void testKeySet(){??//通過(guò)keySet方法,返回Map中的所有“鍵”的set集合??Set<String>keySet=students.keySet();??//取得students的容量??System.out.println("總共有:"+students.size()+"個(gè)學(xué)生!");??//遍歷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();?}}
我這段代碼,為什么顯示的序號(hào)而不是名字?
一縷陽(yáng)光1997
2016-10-09 23:07:36