关于get()值的得到的值的问题。

课中代码:

//创建一个Scanner对象,用来输入学生的ID和姓名

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();

//创建新的学生对象

Student newStudent=new Student(ID,name);

//通过调用sudents的put方法,添加ID-学生的映射

students.put(ID, newStudent);

System.out.println("成功添加学生:"+students.get(ID).name);

i++;

}else{

System.out.println("该学生ID已被占用");

continue;


/**

* 测试Map的KeySet方法

* @param args

*/

public void testKeySet(){

//通过keySet方法,返回Map中的所有"键" 的Set集合

Set<String>keySet=students.keySet();

//取得students容量

System.out.println("总共有:"+students.size()+"学生");

//遍历keySet,取得每一个键,在调用get方法取得每个键对应的value

for(String stuId:keySet){

Student st=students.get(stuId);

if(st!=null)

System.out.println("学生:"+st.name);

}

}

这段代码中第一个get(ID)是ID是KEY值,而第二段代码中get(stuId)怎么是value值????


一个丶橙子
浏览 1245回答 4
4回答

什么鬼_呀你

额,第一个st=get(ID);ID是key值,根据这个key值取它对应的value值,也就是st(学生名字)如果名字为空,就输入学生名字;第二个st=get(stuld)和第一个一样,stuld是也是key值,也是取对应的value值也就是学生名字呀!如果名字为空,就输入学生名字呀!

按照自己的节奏前行

谁告诉你是value,你能不能好好看看,Student类里面的get方法是怎么写的,同学,看看呀,返回的明明是Student的对象呀
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java