testEntrySet方法問(wèn)題
Set<Entry<String,Student>> entrySet = students.entrySet();
這段代碼通過(guò)entrySet方法返回Map中的所有鍵值對(duì),為什么返回的鍵值對(duì)可以保存在Set集合中?鍵值對(duì)不是應(yīng)該保存在Map集合中嗎?
Set<Entry<String,Student>> entrySet = students.entrySet();
這段代碼通過(guò)entrySet方法返回Map中的所有鍵值對(duì),為什么返回的鍵值對(duì)可以保存在Set集合中?鍵值對(duì)不是應(yīng)該保存在Map集合中嗎?
2016-08-26
舉報(bào)
2017-03-03
entrySet()這個(gè)方法的聲明是這樣的
它的返回值就是泛型為Entry的Set集合,而Entry的泛型在本例中是<String ,Student>
2016-09-26
這里的Entry就泛型的類(lèi)型 (鍵值對(duì)對(duì)象)也是一個(gè)靜態(tài)的內(nèi)部類(lèi)
2016-09-26
?class Map{
????? ??static Entry{
????????????private <t>key;
????????????????private <t>value;
??????????}
}
2016-08-26
entrySet
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射關(guān)系的 Set 視圖。該 set 受映射支持,所以對(duì)映射的更改可在此 set 中反映出來(lái),反之亦然。如果對(duì)該 set 進(jìn)行迭代的同時(shí)修改了映射(通過(guò)迭代器自己的 remove 操作,或者通過(guò)對(duì)迭代器返回的映射項(xiàng)執(zhí)行 setValue 操作除外),則迭代結(jié)果是不確定的。set 支持元素移除,通過(guò) Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可從映射中移除相應(yīng)的映射關(guān)系。它不支持 add 或 addAll 操作。
返回:
此映射中包含的映射關(guān)系的 set 視圖
我覺(jué)得這只是實(shí)現(xiàn)了讀取,沒(méi)有其他對(duì)map改變了,遍歷輸出。
2016-08-26
返回不是返回給了Set集合,而是返回給了entrySet,相當(dāng)于提取出來(lái)賦值