刪除 Map 中entrySet()的問題
//通過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,我不明白為什么
2017-05-17
// 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。