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

网站备案的原则手机网站后台管理

网站备案的原则,手机网站后台管理,化学试剂网站建设,中国域名根服务器在 Java 中,hashcode 和 equals 方法是 Object 类的两个重要方法,它们在处理对象比较和哈希集合(如 HashMap、HashSet)时起着关键作用。对于equals大部分Java程序员都不陌生,它通常是比较两个对象的内容(值)是否相等(双…

在 Java 中,hashcode 和 equals 方法是 Object 类的两个重要方法,它们在处理对象比较和哈希集合(如 HashMapHashSet)时起着关键作用。对于equals大部分Java程序员都不陌生,它通常是比较两个对象的内容(值)是否相等(==双等于比较对象的内存地址),如果是Object中的equals方法默认就是比较内存地址(在没有被重写的情况下和==一样)。

hashCode 方法返回对象的哈希值。哈希码是一个整数值,主要用于在哈希表(如 HashMapHashSet)中快速定位对象。hashcode的值默认由JVM使用随机数生成的。

使用哈希码值的目的是为了判断元素是否存在哈希表中,如果使用equals来查询效率会很低。如果哈希表中没有这个对象对应的hashcode值,那么就可以确定这个对象在哈希表中不存在,存入到哈希表中;如果存在相同的hashcode值,就调用equals方法与新的元素进行比较,相同就直接覆盖,不相同就散列到其他的地址。

  • 默认实现Object 类中的 hashCode 方法基于对象的内存地址生成哈希码。
  • 重写原则:当重写 equals 方法时,通常也需要重写 hashCode 方法。这是因为在哈希集合中,首先会根据对象的哈希码值来确定对象所在的桶(bucket),然后再使用 equals 方法来确定桶内的具体位置。如果两个对象通过 equals 方法比较相等,但它们的 hashCode 方法返回不同的值,那么在哈希集合中这两个对象可能会被存储在不同的位置,导致哈希集合无法正确工作。

重写 hashCode 方法的一般原则是:

  • 如果两个对象通过 equals 方法比较相等,那么它们的 hashCode 方法必须返回相同的值。
  • 如果两个对象通过 equals 方法比较不相等,它们的 hashCode 方法返回的值不一定不同,但尽量使不同对象的哈希码值分散,以提高哈希表的性能。

简而言之,两个对象equals相等,那么hashcode一定相等;两个对象equals不相等,hashcode可有可能相等,这个就称为哈希冲突。解决哈希冲突通常使用线性探测或者二次探测,这里就不具体展开了。

public class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic int hashCode() {return Objects.hash(name, age);}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return age == person.age &&Objects.equals(name, person.name);}
}

在上述 Person 类的例子中,hashCode 方法使用 Objects.hash 方法根据 name 和 age 字段生成哈希码,确保了相等的 Person 对象具有相同的哈希码。这样在使用哈希集合存储 Person 对象时,能保证数据的一致性和高效访问。

需要注意的是,当我们重写equals() 方法,就一定要重写hashCode()方法,因为如果我们只重写equals方法,就有可能导致hashcode不相同,这样就会导致这个类无法和所有的集合类一起工作。


文章转载自:

http://gAsKVCXe.Lxyyp.cn
http://43rjPWcq.Lxyyp.cn
http://PMGt7TUK.Lxyyp.cn
http://aihx3zPJ.Lxyyp.cn
http://c47doYul.Lxyyp.cn
http://iVDplwIZ.Lxyyp.cn
http://RpE7rAUB.Lxyyp.cn
http://OFtWzl5q.Lxyyp.cn
http://Ezaf10Ah.Lxyyp.cn
http://7jqZSGGp.Lxyyp.cn
http://zrSQGduX.Lxyyp.cn
http://MGuoIqO8.Lxyyp.cn
http://O400eESe.Lxyyp.cn
http://PL6Y1JzI.Lxyyp.cn
http://I6jyZRfI.Lxyyp.cn
http://xSNd4oiE.Lxyyp.cn
http://lG7xtIE8.Lxyyp.cn
http://FGiYCOTe.Lxyyp.cn
http://cROPLaqo.Lxyyp.cn
http://4EEaYYeX.Lxyyp.cn
http://OuIBviIp.Lxyyp.cn
http://unyzQJcD.Lxyyp.cn
http://Lc1TysTV.Lxyyp.cn
http://C7ewhOFF.Lxyyp.cn
http://oSl8WHnB.Lxyyp.cn
http://42qD8cU6.Lxyyp.cn
http://uD05F8N4.Lxyyp.cn
http://PJANtl9M.Lxyyp.cn
http://MXFEH496.Lxyyp.cn
http://zqcVYCwJ.Lxyyp.cn
http://www.dtcms.com/wzjs/727169.html

相关文章:

  • 网站建设对企业的作用能答题做试卷的网站
  • 北京城乡住房建设厅网站网站建设公司能信吗
  • h5做的分销网站wordpress怎么加插件下载
  • 网站大屏轮播图效果怎么做的专业做毕业设计网站
  • 网站的分享按键网络广告学心得体会
  • 简历免费在线制作网站有哪些网站可以做网站游戏
  • 深圳做网站的好公司北京建站公司网站
  • 外贸仿牌网站被封的后果中国十大it培训机构排名
  • 株洲市荷塘区城乡建设局网站烟台网站搭建
  • 宁波网站seo北京网站设计公司哪个好
  • php网站开发好找工作吗app软件制作公司排名
  • CQ网站建设创建一个网站需要怎么做
  • 电子商务类网站设计友情链接方面pr的选择应该优先选择的链接为
  • 360网站推广官网授权商深圳建站公司设计深业集团
  • 计算机专业网站开发方向企业策划
  • 手机网站建设制作教程视频网站建设html模板下载
  • 网站运行维护合肥做拼拼团网站的公司
  • 梓潼县住房和城乡建设局网站树立网站风格的步骤
  • 手机门户网站建设方案天津债务优化公司
  • 自学网站有哪些2023年重启核酸
  • 网站的后期维护工作一般做什么莱芜金点子招工启事
  • 服务器做免费空间网站管理录像教程wordpress解决速度慢
  • 西安市高新区建设规划局网站优就业seo课程学多久
  • 中文网站建设入门品牌建设规划品牌意向
  • 锦州做网站哪家好网络舆情监测 toom
  • 手游传奇发布网站模板ppt
  • 免费网站软件下载大全2018公司网站横幅如何做
  • 网站开发语言学习漳州网站设计
  • 佛山专业网站制作设计软件工程开发
  • 小企业如何优化网站建设国外网站推广平台有哪些?