2011-11-29 50 views
4

有人可以解釋一個關鍵對象是用於散列表嗎?有一種方法: 「put(Object key,Object value) 將指定值與此映射中指定的鍵相關聯。」什麼是關鍵對象(在hashmap中使用)?

那麼關鍵只是你想要的任何對象?而且,它們的價值是指另一個對象或者一個屬性。 只需要一些進一步的解釋,因爲我很困惑!謝謝一堆

+1

您好,請指定您正在使用的語言。我假設它是Java,但是猶豫不決,無法繼續。 –

回答

2

您應該閱讀what a hashmap is。通常,散列是用於將任意數據()有效存儲在表中的數據結構。

將信息存儲在任何結構中的一個常見問題是如何快速查找數據,一旦它存在於結構中。散列通過使用解決了這個問題。值的關鍵字決定了表格中值的存儲位置,通過一些hash function。它們鍵用於在哈希以同樣的方式,一個索引是在陣列中使用的:

array[index] => some_value 
hash{key} => some_value 

在「放(對象鍵,對象的值)」的情況下,「值」對象是數據要存儲和「關鍵」的對象是你將用什麼來獲取數據回來了哈希:

MyObject myKey = new MyObject(...); 
MyOtherObject myValue = new MyOtherObject(...); 
... 
myHash.put(myKey, myValue); // add myValue to the hash 
... 
MyOtherObject data = myhash.get(myKey); // get myValue out of the hash 
0

的關鍵應該是不會改變(多)隨着時間的推移,是獨特(在該地圖內)並且與價值有一些有意義的關聯。例如,SSN,姓名,車牌號碼或郵政編碼。但基本上對你而言有意義。

相關問題