亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

testEntrySet方法問題

Set<Entry<String,Student>> entrySet = students.entrySet();

這段代碼通過entrySet方法返回Map中的所有鍵值對,為什么返回的鍵值對可以保存在Set集合中?鍵值對不是應該保存在Map集合中嗎?

正在回答

5 回答

entrySet()這個方法的聲明是這樣的

Set<Map.Entry<K,V>>?entrySet()

它的返回值就是泛型為Entry的Set集合,而Entry的泛型在本例中是<String ,Student>

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

這里的Entry就泛型的類型 (鍵值對對象)也是一個靜態的內部類

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

?class Map{

????? ??static Entry{

????????????private <t>key;

????????????????private <t>value;

??????????}

}

1 回復 有任何疑惑可以回復我~

entrySet

Set<Map.Entry<K,V>> entrySet()

返回此映射中包含的映射關系的 Set 視圖。該 set 受映射支持,所以對映射的更改可在此 set 中反映出來,反之亦然。如果對該 set 進行迭代的同時修改了映射(通過迭代器自己的 remove 操作,或者通過對迭代器返回的映射項執行 setValue 操作除外),則迭代結果是不確定的。set 支持元素移除,通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可從映射中移除相應的映射關系。它不支持 add 或 addAll 操作。


返回:

此映射中包含的映射關系的 set 視圖

我覺得這只是實現了讀取,沒有其他對map改變了,遍歷輸出。

0 回復 有任何疑惑可以回復我~
#1

qq_邏輯演繹法_03669459

Entryset是一個鍵值對對象,Set是保存了這些鍵值對對象 Set<Map.Entry<K,V>> entrySet()//Map.Entry這種是嵌套類的使用 Set<Entry<String,Student>> entrySet = students.entrySet();這么些可能是新的寫法吧...不清楚
2016-09-26 回復 有任何疑惑可以回復我~

返回不是返回給了Set集合,而是返回給了entrySet,相當于提取出來賦值

1 回復 有任何疑惑可以回復我~
#1

Yatee 提問者

那它返回給了entryset entryset不就是一個Set集合嗎?
2016-08-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

testEntrySet方法問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號