2011-11-29 59 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,姓名,车牌号码或邮政编码。但基本上对你而言有意义。

相关问题