当前位置: 首页 > news >正文

怎么做服装外贸网站温州做高端网站公司

怎么做服装外贸网站,温州做高端网站公司,西安未央区做网站,一个网站要怎么做【README】 本文旨在po出 hashCode #xff0c; equals的api描述#xff0c;以加深理解#xff1b; 本文翻译自 jdk 文档#xff1b; 【1】Object.hashCode() 1#xff09;介绍#xff1a;返回对象的哈希码值。支持此方法是为了有利于哈希表#xff0c;例如由 java.u…【README】 本文旨在po出 hashCode equals的api描述以加深理解 本文翻译自 jdk 文档 【1】Object.hashCode() 1介绍返回对象的哈希码值。支持此方法是为了有利于哈希表例如由 java.util.HashMap 提供的哈希表。 在 Java 应用程序执行期间只要在同一个对象上多次调用它hashCode 方法必须始终返回相同的整数前提是对象上的 equals 比较中使用的信息没有被修改。该整数不需要从应用程序的一次执行到同一应用程序的另一次执行保持一致。 hashCode方法需要遵守的约定如果根据 equals(Object) 方法两个对象相等则对两个对象中的每一个调用 hashCode 方法必须产生相同的整数结果*干货。 如果根据 equals(Object) 方法两个对象不相等则不需要对这两个对象中的每一个调用 hashCode 方法必须产生不同的整数结果。但是程序员应该意识到为不相等的对象生成不同的整数结果可能会提高哈希表的性能。 尽可能实用类 Object 定义的 hashCode 方法确实为不同的对象返回不同的整数。 这通常通过将对象的内部地址转换为整数来实现但 Java™ 编程语言不需要这种实现技术。 补充 可以看下 equals() System.identityHashCode() 【1.1】String.hashCode() 返回此字符串的哈希码。 String 对象的哈希码计算如下         s[0]*31^(n-1) s[1]*31^(n-2) ... s[n-1]        使用 int 算术其中 s[i] 是字符串的第 i 个字符n 是字符串的长度^ 表示求幂。 空字符串的哈希值为零。 返回此对象的哈希码值。 private final char value[]; // 只能被一次赋值不可二次修改public int hashCode() {int h hash;if (h 0 value.length 0) {char val[] value;for (int i 0; i value.length; i) {h 31 * h val[i];}hash h;}return h;} 字符串底层是字符数组存储的以字符串 aaa为例存储结构为 [a, a, a] 字符a的 ASCII 为97则hash值计算步骤如下 i 取值 0 1 2初始时 hhash0 ival[i]h0979719731*9797 310429731*310497 96321     所以字符串 aaa的hash值等于  96321 。 我们令 vi val[i]则以后如下规则 h0 v0; h131*v0v1; h231* [31*v0 v1] v2; ... 通过归纳法我们可以得出字符串的hash值的计算公式为 hn 31^n * v0 31^n-1 * v1 ...... 31 * vn-1 31^0 * vn;  其中vn表示字符串的第n个字符n从0开始 所以 字符串 aaa 的hash值 h2 31^2 * 97 31 * 97 97 96321 【2】Object.equals () 1)介绍指示其他某个对象是否“等于”这个对象。2equals 方法在非空对象引用上实现等价关系 它是自反的对于任何非空引用值 xx.equals(x) 应该返回 true。它是对称的对于任何非空引用值 x 和 y当且仅当 y.equals(x) 返回 true 时x.equals(y) 才应返回 true。它是可传递的对于任何非空引用值 x、y 和 z如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true那么 x.equals(z) 应该返回 true。它是一致的对于任何非空引用值 x 和 yx.equals(y) 的多次调用始终返回 true 或始终返回 false前提是对象的 equals 比较中使用的信息没有被修改。 对于任何非空引用值 xx.equals(null) 应返回 false。 Object 类的 equals 方法实现了对象上最有区别的可能等价关系也就是说对于任何非空引用值 x 和 y当且仅当 x 和 y 引用同一个对象x y 的值为 true时此方法才返回 true。 请注意每当重写此方法时通常都需要重写 hashCode 方法以维护 hashCode 方法的一般约定即相等的对象必须具有相等的哈希码。 补充也可以看看 hashCode(), java.util.HashMap 【3】System.identityHashCode(Object x) 1介绍为给定对象返回与默认方法 hashCode() 返回的相同的哈希码无论给定对象的类是否覆盖 hashCode()。 空引用的哈希码为零。 【4】HashMap.hash(Object key)  static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h 16);} 计算 key.hashCode() 并将散列的较高位异或传播到较低位。 由于该表使用二次幂掩码因此仅在当前掩码之上位变化的散列集将始终发生冲突。 众所周知的例子是在小表中保存连续整数的浮点键集。 因此我们应用了一种将较高位的影响向下传播的变换。 位扩展的速度、效用和质量之间存在权衡。 因为许多常见的哈希集已经合理分布因此不会从传播中受益并且因为我们使用树来处理 bin 中的大量冲突所以我们只是以最便宜的方式对一些移位的位进行异或以减少系统损失 以及合并最高位的影响否则由于表边界而永远不会在索引计算中使用。
http://www.zqtcl.cn/news/243855/

相关文章:

  • 东莞市公司网站建设淄博网站制作营销
  • 企业网站无线端怎么做手机网站做成app
  • 让他人建设网站需要提供的材料可在哪些网站做链接
  • 外贸公司做网站3d建模好学吗
  • dedecms新网站 上传到万网的空间上海新媒体运营公司排名
  • 包装东莞网站建设0769三层网络架构
  • 淘客网站自己做固安建站公司
  • 咸阳学校网站建设联系电话网络app开发网站建设价格
  • 没网站怎么做淘宝客网站建设耂首先金手指
  • 网站带做收录排名淘外网站怎么做
  • 网站建设分金手指排名五申请邮箱账号注册
  • 餐饮加盟网站建设字体怎么安装wordpress
  • 网站建设与维护培训凡科和有赞哪个好用
  • 景区网站的作用长春新冠最新情况
  • 个人网站上传有啥要求wordpress 浏览记录
  • appcan 手机网站开发wordpress首页音乐
  • 杭州响应式网站案例建筑工程网站建站方案
  • 网站访客抓取国内网站搭建
  • 凡科网站做的好不好太原网页
  • 十堰商城网站建设国外效果图网站
  • 怎么登陆建设工程网站泉州网红
  • 哈尔滨队网站网页美工跨境电商是什么意思
  • 网站规划与建设课程推广型网站建设软件
  • 山东网站建设系统网站设计哪家更好
  • 网络推广有哪些网站网络推广公司联系昔年下拉
  • 长沙专业外贸建站公司百度提交网站入口网站
  • 西安网站搭建建设定制市场营销推广策略
  • 用户等待网站速度公司网站怎么做站外链接
  • 设计新闻发布网站模板wonder audio wordpress
  • 教育与培训网站建设wordpress侧栏文章