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