什么是关键对象(在hashmap中使用)?

时间:2011-11-29 17:32:08

标签: java object key hashmap

有人可以解释一下在hashmap中使用的关键对象究竟是什么?有一种方法: “put(对象键,对象值)           将指定的值与此映射中的指定键相关联。“

关键是你想要的任何对象?按价值来说,它们意味着另一个对象或属性。 因为我很困惑,需要进一步解释!非常感谢

3 个答案:

答案 0 :(得分:3)

您应该阅读what a hashmap is。通常,哈希是一种数据结构,用于在表中有效地存储任意数据()。

在任何结构中存储信息的一般问题是如何在结构中再次快速查找数据。哈希通过使用解决了这个问题。值的键通过某些hash function确定值将存储在表中的哪个位置。它们的键在散列中使用的方式与在数组中使用索引的方式相同:

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

在“put(对象键,对象值)”的情况下,“value”对象是您要存储的数据,“key”对象是您将用于从中获取数据的对象。散列:

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

答案 1 :(得分:0)

  

关键是您想要的任何对象吗?

一般来说,是的。

但是,您需要注意在地图中用作键的对象的实现。它们应为immutableoverride equals() and hashCode()

答案 2 :(得分:0)

密钥应该是随着时间的推移不会发生变化的东西,是唯一的(在该Map内)并且与值有一些有意义的关联。例如,SSN,名称,车牌号或邮政编码。但基本上任何对你都有意义的事情。