栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

hashCode的作用是什么?它独特吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hashCode的作用是什么?它独特吗?

MSDN说:

哈希码是一个数值,用于在相等性测试期间标识对象。它也可以用作集合中对象的索引。

GetHashCode方法适用于哈希算法和数据结构(例如哈希表)。

GetHashCode方法的默认实现不能保证不同对象的唯一返回值。此外,.NET
framework不保证GetHashCode方法的默认实现,并且它返回的值在.NET
framework的不同版本之间将相同。因此,此方法的默认实现不得用作哈希目的的唯一对象标识符。

GetHashCode方法可以被派生类型覆盖。值类型必须重写此方法,以提供适用于该类型的哈希函数并在哈希表中提供有用的分布。为了唯一,哈希码必须基于实例字段或属性的值,而不是静态字段或属性。

在Hashtable对象中用作键的对象还必须重写GetHashCode方法,因为这些对象必须生成自己的哈希码。如果用作键的对象不能提供GetHashCode的有用实现,则可以在构造Hashtable对象时指定哈希码提供程序。在.NET
framework
2.0版之前,哈希码提供程序基于System.Collections.IHashCodeProvider接口。从2.0版开始,哈希码提供程序基于System.Collections.IEqualityComparer接口。

基本上,存在哈希码以使哈希表成为可能。
保证两个相等的对象具有相等的哈希码。 保证
两个不相等的对象具有 相等的哈希码(称为冲突)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号