2012-03-22 52 views
3

有没有人在任何地方使用hashCode()hashCode()用在哪里?

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

回答

10

Hascode是否在任何地方使用?

hashCode方法由内部使用例如HashSetHashMap

是否有任何人给我什么例子是确切使用hascode的...

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

...在哪些情况下我们需要执行它?

你应该实现它,只要你重写equals(你需要时,你需要定义两个不同的对象等于做)。


进一步阅读

2

的hashCode用于例如在HashMap中。一个很好的实现方法HashMap的许可证,以在地图上良好的数据分布和提高数据访问性能

2

我想你的意思hashcode,不hascode ...

话虽这么说,在hashcode用于构建结构如MapsHashMap等)。

它也被用来存储密码有时,所以基本上Java应用程序会传递数据库密码的哈希版本然后存储。当你在Java应用程序和数据库之间有'泄漏'时,这很有用,它允许人们看到用户名和密码。由于您将传递密码的散列版本而不是实际的密码,因此监视应用程序的任何人都将很难尝试破解密码。

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