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

网站建设计入哪个科目如何用源代码做网站

网站建设计入哪个科目,如何用源代码做网站,做英文的小说网站有哪些,阳信住房和城乡建设厅网站一、hashcode是什么#xff1f; 1、hash和hash表是什么#xff1f; 想要知道这个hashcode#xff0c;首先得知道hash#xff0c;通过百度百科看一下 hash是一个函数#xff0c;该函数中的实现就是一种算法#xff0c;就是通过一系列的算法来得到一个hash值#xff0…一、hashcode是什么 1、hash和hash表是什么 想要知道这个hashcode首先得知道hash通过百度百科看一下 hash是一个函数该函数中的实现就是一种算法就是通过一系列的算法来得到一个hash值这个时候我们就需要知道另一个东西hash表通过hash算法得到的hash值就在这张hash表中也就是说hash表就是所有的hash值组成的有很多种hash函数也就代表着有很多种算法得到hash值如上面截图的三种等会我们就拿第一种来说。 2、hashcode 有了前面的基础这里讲解就简单了hashcode就是通过hash函数得来的通俗的说就是通过某一种算法得到的hashcode就是在hash表中有对应的位置。 每个对象都有hashcode对象的hashcode怎么得来的呢 首先一个对象肯定有物理地址在别的博文中会hashcode说成是代表对象的地址这里肯定会让读者形成误区对象的物理地址跟这个hashcode地址不一样hashcode代表对象的地址说的是对象在hash表中的位置物理地址说的对象存放在内存中的地址那么对象如何得到hashcode呢通过对象的内部地址(也就是物理地址)转换成一个整数然后该整数通过hash函数的算法就得到了hashcode所以hashcode是什么呢就是在hash表中对应的位置。这里如果还不是很清楚的话举个例子hash表中有 hashcode为1、hashcode为2、(…)3、4、5、6、7、8这样八个位置有一个对象AA的物理地址转换为一个整数17(这是假如)就通过直接取余算法17%81那么A的hashcode就为1且A就在hash表中1的位置。肯定会有其他疑问接着看下面这里只是举个例子来让你们知道什么是hashcode的意义。 二、hashcode有什么作用呢 前面说了这么多关于hash函数和hashcode是怎么得来的还有hashcode对应的是hash表中的位置可能大家就有疑问为什么hashcode不直接写物理地址呢还要另外用一张hash表来代表对象的地址接下来就告诉你hashcode的作用 1、HashCode的存在主要是为了查找的快捷性HashCode是用来在散列存储结构中确定对象的存储地址的(后半句说的用hashcode来代表对象就是在hash表中的位置) 为什么hashcode就查找的更快比如我们有一个能存放1000个数这样大的内存中在其中要存放1000个不一样的数字用最笨的方法就是存一个数字就遍历一遍看有没有相同得数当存了900个数字开始存901个数字的时候就需要跟900个数字进行对比这样就很麻烦很是消耗时间用hashcode来记录对象的位置来看一下。hash表中有1、2、3、4、5、6、7、8个位置存第一个数hashcode为1该数就放在hash表中1的位置存到100个数字hash表中8个位置会有很多数字了1中可能有20个数字存101个数字时他先查hashcode值对应的位置假设为1那么就有20个数字和他的hashcode相同他只需要跟这20个数字相比较(equals)如果每一个相同那么就放在1这个位置这样比较的次数就少了很多实际上hash表中有很多位置这里只是举例只有8个所以比较的次数会让你觉得也挺多的实际上如果hash表很大那么比较的次数就很少很少了。 通过对原始方法和使用hashcode方法进行对比我们就知道了hashcode的作用并且为什么要使用hashcode了 三、equals方法和hashcode的关系 通过前面这个例子大概可以知道先通过hashcode来比较如果hashcode相等那么就用equals方法来比较两个对象是否相等用个例子说明上面说的hash表中的8个位置就好比8个桶每个桶里能装很多的对象对象A通过hash函数算法得到将它放到1号桶中当然肯定有别的对象也会放到1号桶中如果对象B也通过算法分到了1号桶那么它如何识别桶中其他对象是否和它一样呢这时候就需要equals方法来进行筛选了。 1、如果两个对象equals相等那么这两个对象的HashCode一定也相同 2、如果两个对象的HashCode相同不代表两个对象就相同只能说明这两个对象在散列存储结构中存放于同一个位置 这两条你们就能够理解了。 四、为什么equals方法重写的话建议也一起重写hashcode方法 如果对象的equals方法被重写那么对象的HashCode方法也尽量重写 举个例子其实就明白了这个道理 比如有个A类重写了equals方法但是没有重写hashCode方法看输出结果对象a1和对象a2使用equals方法相等按照上面的hashcode的用法那么他们两个的hashcode肯定相等但是这里由于没重写hashcode方法他们两个hashcode并不一样所以我们在重写了equals方法后尽量也重写了hashcode方法通过一定的算法使他们在equals相等时也会有相同的hashcode值。 实例现在来看一下String的源码中的equals方法和hashcode方法。这个类就重写了这两个方法现在为什么需要重写这两个方法了吧 equals方法其实跟我上面写的那个例子是一样的原理所以通过源码又知道了String的equals方法验证的是两个字符串的值是否一样。还有Double类也重写了这些方法。很多类有比较这类的都重写了这两个方法因为在所有类的父类Object中。equals的功能就是 号的功能。你们还可以比较String对象的equals和的区别啦。这里不再说明。 hashcode方法
http://www.zqtcl.cn/news/858041/

相关文章:

  • 网站软文代写广西网站设计公司排行榜
  • c2c网站代表和网址mirages WordPress
  • 网站建设开发案例教程wordpress中国区官方论坛
  • 王晴儿网站建设做啊录音网站
  • 网站开发版本号正规的企业网站建设公司
  • 中国做网站正邦温州网站建设方案服务
  • 南通网站关键词优化wordpress做小程序
  • 上海企业网站seo多少钱做网站图片链接到天猫
  • 属于教育主管部门建设的专题资源网站是广西壮锦网站建设策划书
  • 云南网站制作一条龙网站建设公司对比分析报告
  • 手机网站客户端网站语言有几种
  • 做网站怎么选取关键词中企动力销售陪酒多吗
  • 新网站做内链雅虎网站收录提交入口
  • 简述建设一个网站的具体过程接做名片的网站
  • 怎样建立自己网站网站产品数据如何恢复
  • 用wordpress建立电商网站用Off做网站
  • 网站建设公司不赚钱ui设计软件培训学校
  • 网站项目策划书模板wordpress修改模版
  • 房地产手机网站模板电脑建立网站
  • 网站自适应手机代码网络服务机构的网站
  • 系统网站重庆智能建站模板
  • wordpress适合优化吗宝塔 wordpress优化
  • 怎么利用网站做外链接怎样做公司网站介绍
  • 广州网站优化渠道木门网站模板
  • 手机网站菜单设计wordpress加联系方式
  • 网站管理助手怎么使用多种郑州网站建设
  • 汉中网站建设费用外贸网站服务商
  • 苏宿工业园区网站建设成功案例色流网站如何做
  • 北沙滩网站建设公司电子商务网站建设管理论文
  • 公司备案证查询网站查询系统网页设计html代码大全及含义