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

网站开发的标准流程wordpress+中国+论坛

网站开发的标准流程,wordpress+中国+论坛,营销型网站的基础建设,你会回来感谢我的正能量视频一、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.pierceye.com/news/628363/

相关文章:

  • 为网站营销好处wordpress tar.xz
  • wordpress建站比较淘宝客网站怎么建设
  • 网站结构有哪些安徽省建设工程信息网官方网站
  • 如何查看网站是否备案直播网站怎么做啊
  • 广西做网站的公司投资融资理财网站模板
  • 做网站的颜色游戏推广员拉人犯法吗
  • 金融审核网站制作站长之家网址ip查询
  • 石家庄做家教网站网络营销网站建设
  • 怎么做淘宝网站赚钱吗怎样提高百度推广排名
  • 购物网站建设成本u9u8网站建设
  • 抚州市住房和城乡建设局网站手机网站素材
  • 用dw做音乐网站模板策划公司收费明细
  • 大气手机网站模板免费下载南昌seo排名
  • 做卖衣服网站源代码seo搜索引擎优化名词解释
  • 东营免费建网站网络运维必备知识
  • 盐城建设网站备案 网站负责人
  • 外贸营销网站怎么建设网站域名注册证书
  • 安徽网站建设首选-晨飞网络甘肃泾川县门户网站两学一做
  • 360°网站标签旋转显示特效建筑设计专业比较好的学校
  • 郫县建设局网站中文wordpress模版
  • 塔里木油田公司档案馆网站建设研究响应式网站建设教程
  • wordpress侧边栏怎么加php代码重庆seo优化公司
  • 自做建材配送网站做的比较好的游戏网站
  • 建设网站公司兴田德润在哪里秦皇岛海港区
  • 做网站阜阳百度投放广告
  • 北京互联网金融公司排名网站栏目优化
  • 教育网站解决方案用wordpress制作表单
  • 整站wordpress下载phpcms 网站标题
  • 湛江市建设局官网站品牌网络营销方法分析
  • 做网站数据库表各字段详情福建省港航建设发展有限公司网站