为了账号安全,请及时绑定邮箱和手机立即绑定

关于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值????

正在回答

3 回答

get(ID)中的ID是KEY值,students是map。students.get(ID)是根据ID这个KEY值得到map中其对应的Value值。同理,stuId是for遍历方法的遍历变量,类似于ID,也是个KEY值,students.get(stuId)得到的也是Value值

0 回复 有任何疑惑可以回复我~

其实两段代码获得的都是value值,是你自己理解错了

0 回复 有任何疑惑可以回复我~

第一段代碼中的ID值指的是KEY值,所獲取的值是value值,第二段代碼也是這樣的,stuId相當於第一段代碼中的ID值,也是KEY值,所獲取的是也是value值

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信