java string的hashcode
来源:互联网 发布:常用网络用语 日语 编辑:程序博客网 时间:2024/04/25 19:40
- public int hashCode() {
- int h = hash;
- if (h == 0) {
- int off = offset;
- char val[] = value;
- int len = count;
- for (int i = 0; i < len; i++) {
- h = 31*h + val[off++];
- }
- hash = h;
- }
- return h;
- }
实际上是使用霍纳法则计算
即
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 的值
选择31是因为他为素数,且他等于左移5位-1的值,vm会自动做这种优化
http://book.douban.com/subject/1610337/ lafore的这本书写的很人性化,没有太多公式,适合入门,第11章讲到了这部分
http://en.wikipedia.org/wiki/Java_hashCode()
http://stackoverflow.com/questions/299304/why-does-javas-hashcode-in-string-use-31-as-a-multiplier
http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html
- java string的hashcode
- String的hashcode(java)
- String的hashcode(java)
- Java String的hashCode实现
- Java 中String的HashCode计算方法
- JAVA中String类的hashCode方法
- Java中String类的hashCode方法
- java string hashcode
- 关于String的hashCode
- String的hashCode分析
- 用php实现java的String的hashCode方法
- Java String中的hashCode函数
- Java String中的hashCode函数
- int java.lang.String.hashCode()
- java.lang.String hashCode方法
- [Java--基础]----String hashCode实现
- Java中Object对象的hashCode方法和String对象的hashCode
- java基础 equals与==区别,String的hashcode
- 使用 MFC 编写打印程序
- 19. 17. 1. UDP客户端响应 UDP Echo Client
- 前端组件编写经验————图片回去再传
- jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件
- windows7 vpn和宽带连接出现错误651,所有设备都已连接的问题解决办法
- java string的hashcode
- 常见系统平台
- (转)成为一个顶级设计师的八大秘诀
- 浅谈ANR如何分析解决ANR(1)
- android:布局参数
- hhhhh
- 不错的linux下通用的java程序启动脚本(转载)
- 访问在 WINS 数据库时的错误消息: 找不到 WINS 服务器
- 牛人面试intel