2010-11-09 92 views
5

僅供試驗,我在Hashmap實例中添加了多個null密鑰。它沒有抱怨。這樣做的好處是什麼?在hashmap中允許多個空鍵有什麼好處?

的代碼,

Map hmap = new HashMap(); 
hmap.put("sushil","sushil11"); 
hmap.put(null,null); 
hmap.put(null,"king"); 
hmap.put(null,"nagasaki"); 
hmap.put(null,null); 

在地圖上多少個鍵有哪些?

回答

3

它用於獲取開關:大小寫:默認行爲。

例如:

問題定義:在CS部門大樓的咖啡廳。他們以1美元的價格向CS學生提供咖啡,向IT部門的學生提供1.25美元的咖啡以及1.50美元的咖啡。

然後將地圖:

鍵 - >值

IT - > 1.25

CS - > 1.00

空 - > 1.50

如果(圖.containsKey(dept))

price = map.get(dept);

else

price = map.get(null);

P.S. - 如果這是一個詞,我不是「部門主義」。 :)

7

一個正常的hashmap將有唯一的鍵,所以你重複覆蓋空鍵的條目。你不會有多個相同的鍵(爲此,你需要一個MultiMap或類似的)

10

我想你還沒有添加多個null鍵。您只是多次覆蓋了相同的密鑰null

+0

可以ü請告訴我該怎麼添加null作爲一個關鍵將benifit我。 – 2010-11-09 17:20:49

+0

我認爲@Babban Shikaari在他的回答中有一個例子。我現在不能自己想出來,但我更喜歡使用空密鑰而不需要它,但是卻無法使用它:P – ZeissS 2010-11-10 08:23:23

4

有一個API調用此:

size:返回此映射中鍵 - 值映射關係的數量。

hmap.size(); 

如上所述,您只是用新值覆蓋鍵/值對。

+0

gr8我不知道這一點。謝謝你的好回答。 – 2010-11-09 17:14:13

相關問題