getHashCode()
来源:互联网 发布:颜色调配软件 编辑:程序博客网 时间:2024/05/06 23:27
getHashCode() 取值范围是 int.MinValue ~ int.MaxValue
它的算法将数字左移动16位,再与原来的数字进行异或操作,最后将结果乘以16进制数15051505
一般用法:
GetHashCode函数一般是在操作HashTable或者Dictionary之类的数据集的时候被调用,其目的是产生一个没有歧义的key。也可以像toString() 或Equals()函数一样重写它。
对于GetHashCode()函数,要满足以下三点
1.两个相等的对象的GetHashCode()值要一致,两个不相等的对象其GetHashCode()取得的值要不相等。否则通过其存放入Hashtable的数据就无法取出来了。
2.对于一个对象来说,GetHashCode()返回的值要自始至终保持一致 否则与第一点一样。
3.在GetHashCode()中要提供一个比较好的哈希函数,也就是在最小的范围内来实现数据分散,这样可以提高Hashtable 的存取速度。
GetHashCode() 默认是返回类型的第一个元素。如果元素不能像数据库表中ID那样的标识,那极容易产生不同的对象具有相同的GetHashCode()值. 解决的方法是
重写类型GetHashCode()方法。 使其返回可以唯一标识的元素的GetHashCode()值,并且这个元素最好是只读rederOnly 不允许在运行时被修改。这样才保证了满足前两个条件。并被添加到Hashtable中。
- getHashCode()
- GetHashCode
- 浅谈 GetHashCode
- GetHashCode解析
- GetHashCode 与HashTable ,Dictionary
- GetHashCode与Equals双刃剑
- GetHashCode方法学习笔记
- Object.getHashCode()之我见
- 函数GetHashCode()的缺陷
- 另谈GetHashCode函数
- GetHashCode()用来干啥?
- C#重写GetHashCode()
- C#详析GetHashCode方法
- 理解GetHashCode()方法的缺陷
- c# gethashcode和equal重写
- .NET(C#):GetHashCode 的作用
- .NET(C#):GetHashCode 的作用
- 不可小瞧的GetHashCode函数
- VBS類 方法總結 肯定能用到
- 深入理解LINUX内核
- 对于 hibernate 查询结果List 中数据的拷贝。。。。。。。
- 鸟哥的Linux私房菜:基础学习篇
- ORACLE數據庫導出為txt檔方法
- getHashCode()
- 修改个人资料还要求积分不能为0,真TMD差劲。
- Linux服务器架设与管理
- 一元多项式的运算 (待完善)
- Ubuntu Linux入门到精通
- 软件测试技术大全——测试基础 流行工具 项目实践
- sql2005環境 在dos環境執行sql腳本
- C++实现的MD5加密算法代码
- Shell脚本编程基础