Student st=students.get(stuID);這里面的 是定義了一個學(xué)生對象st來接收 students里面的一個鍵值對嗎?
Student st=students.get(stuID);這里面的 ?是定義了一個學(xué)生對象st來接收 students里面的一個鍵值對嗎?
Student st=students.get(stuID);這里面的 ?是定義了一個學(xué)生對象st來接收 students里面的一個鍵值對嗎?
2015-04-15
舉報(bào)
2016-01-20
get(key)得到的是這個key對應(yīng)的value ?去看看api上面對方法的描述應(yīng)該是 獲取值,沒有映射關(guān)系;
2015-05-13
不對。
? ? 在Map集合中,鍵對象和值對象是對應(yīng)的。Student st=students.get(stuID); 這一語句的解讀,需要解讀它里面各個參數(shù)的對應(yīng)關(guān)系。
? ? 首先得清楚stuID對象是啥,怎么來的,意義是啥。stuID對象在for-each循環(huán)中首次定義出現(xiàn),它用來裝keySet集合里的String類型元素--students對象中的鍵對象。而students對象中的鍵對象是我們在定義Map集合的對象students時(shí)定義的:public Map<String,Student> students; ,這句表明students對象中有兩個對應(yīng)的對象,一個是鍵對象,類型是String類;一個是其對應(yīng)的值對象,類型是Student類。然后定義了一個泛型是String類型的Set集合keySet,用來裝students對象的所有鍵對象(類型為String類)。因?yàn)镸ap集合中,鍵對象和值對象是對應(yīng)的,所以知道了students的鍵對象也就可以知道其對應(yīng)的值對象。然后就是從Set集合中依次取出集合中的元素,也就是students對象的鍵對象,放在stuID中。這就是stuID的來源,及其意義。
? ? 然后,知道了students的鍵對象stuID,調(diào)用students.get(stuID)方法,得到其對應(yīng)的值對象。在最開始定義Map集合對象students時(shí),限定了值對象的類型-Student類,所以這里定義一個Student的對象st,讓students的值對象指向st的引用,即Student st=students.get(stuID) ,這樣就成功地把students中鍵對象對應(yīng)的值對象取出來了。
? ?
? ??
? ?
2015-04-15
“鍵值對嗎?”的意思是“鍵值,對嗎?”還是“鍵值對 嗎?”