2018-07-16集合

* 影响散列表(HashMap)查询性能的一个主要因素就是

* 作为Key元素equals方法与hashcode方法的结果。

* 妥善重写这两个方法可以避免在HashMap中出现链表导

* 致HashMap检索性能降低。

*

* API手册对这两个方法的重写有说明,重写原则:

* 1:成对重写。即:当我们需要重写一个类的equals方法时

*  就应当连同重写hashcode

* 2:一致性。即:当两个对象equals比较为true时,hashcode

*  方法返回的数字应当相等。反之亦然。虽然反之不是必须

*  的,但是应当保证两个对象hashcode值相等时,equals

*  方法比较为true,否则这样的对象在作为key元素在HashMap

*  中使用时会产生链表,降低HashMap查询性能。

* 3:稳定性。即:当参与equals比较的属性没有发生变化的前提

*  下,多次调用hashcode方法返回的数字必须相同。   

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,137评论 0 11
  • 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算...
    曹振华阅读 7,206评论 1 37
  • 上集回顾 灵月抱着红莲一路奔向后山。 “差不多了。”灵月气喘吁吁的说到。红莲早已不再哭泣,趴在灵月的背上一动不动。...
    单影双人行阅读 3,038评论 0 3
  • 儿时的回忆总让人难以忘怀,已迈入青年的我们,是否还能找回儿时记忆中的那份天真、快乐?社会的闯荡教会了我们怎样的尔虞...
    记忆中的残痕阅读 962评论 0 0