删除 Map 中entrySet()的问题

来源:5-3 学生选课---删除 Map 中的学生

ZoeHom

2017-05-17 17:54

//通过entrySet方法来遍历“键值”对
 
 public void testEntrySet(){
  Set<Entry<String,Student>> entrySet=students.entrySet();
  for(Entry<String,Student> entry:entrySet)
  System.out.println("取得键:"+ entry.getKey());
  System.out.println("对应的值:"+ entry.getValue().name);
  
  
 }
 请问为何说呢么获取key直接用getKey();
 但是获取value却要用个getValue().name ? 为什么不能直接用getvalue()?
 
 而且,我的下面这行代码报错了
 System.out.println("对应的值:"+ entry.getValue().name);
  错误提示:entry cannot be resolved,我不明白为什么


写回答 关注

1回答

  • muhlenXi
    2017-05-17 22:33:01
    已采纳

    // entrySet 遍历 Map
    public void testEntrySet() {
       Set<Map.Entry<String,Student>> entrySet = students.entrySet();
       for (Map.Entry<String, Student> entry :
               entrySet) {
           System.out.println("取得键:" + entry.getKey());
           System.out.println("对应的值为:" + entry.getValue());
       }
    }


    这段代码是正确的,可以用getValue()方法来获取学生对象,老师要打印的是获取的学生的名字,所以会用.name。

    ZoeHom

    非常感谢!

    2017-05-17 23:25:52

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题