hashCode()在哪里使用?

时间:2012-03-22 14:40:04

标签: java

有人在任何地方使用hashCode()吗?

有人能给我一个确切使用哈希码的例子吗?在哪些情况下我们需要实现它?  使用HashCode的任何特定区域?

3 个答案:

答案 0 :(得分:10)

  

hascode是否在任何地方使用?

hashCode方法由内部使用,例如HashSetHashMap等。

  

是否有人举例说明了hascode的确切用法...

它用于例如允许算法快速发现两个对象是否相等。 (不使用equals进行比较。)

  

...在哪些情况下我们需要实现它?

每当你覆盖equals时,你应该实现它(当你需要定义两个不同的对象时,你需要这样做。)


进一步阅读

答案 1 :(得分:2)

hashCode例如在hashmap中使用。方法的良好实现hashMap允许在地图中具有良好的数据分布并提高数据访问性能

答案 2 :(得分:2)

我认为你的意思是hashcode,而不是hascode ......

话虽如此,hashcode用于构建MapsHashMap等)的结构。

它有时也用于存储密码,因此Java应用程序基本上会向数据库传递密码的散列版本,然后存储该密码。当您在Java应用程序和数据库之间发生“泄漏”时,这很有用,它允许人们查看用户名和密码。由于您将传递密码的哈希版本而不是实际密码,因此无论是谁在监视您的应用程序,都会非常难以破解密码。

要登录某人,应用程序需要做的就是比较提供的密码和存储在数据库中的密码的哈希码。

相关问题