zoukankan      html  css  js  c++  java
  • 集合hashCode()方法和equals()办法

    1、哈希码:
            Object中的HashCode方法会返回该对象的的内存真实地址的整数化表示,这个形象的不是真正抵制的整数值就是哈希码。


    2、利用哈希码向集合中插入数据的顺序?
            向HashSet中加入对象时。HashSet先通过该对象的HashCode()计算出对应的桶,然后再依据equals()方法找到对应的对象。假设容器中已存在该对象则不再加入。假设不存在,则加入进去。
            
    3、什么时候重写hashCode()方法?
            String和Integer这些Java自带的类都重写了hashCode()方法,假设String和Integer new出来的对象的内容是一样的,则这些对象的hashCode返回值也是一样的,虽然这些对象占用的哦是不同的内存
            假设程序猿希望自定义的类对象。占用不同的哦内存空间时。但内容却是一样的对象调用hashCode方法返回值是一样的。则程序猿必须自己重写hashCode()方法,如本程序的B类

    4、怎么重写hashCode()方法和equals()方法:

            必须同一时候实现equals()方法 和 hashCode() 方法,仅仅要有随意一个方法没有实现
     装入时就会出现反复元素


    5、什么容器必须的重写equals方法和hashCode方法?
            Hashtable  HashSet  HashMap都必须的同一时候实现equals()方法和hashCode()方法,TreeSet和TreeMap则不须要实现equals()方法和hashCode()方法



    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    < high performance web sites > 阅读小记
    Gimp制作圆角透明图片
    iphone开发小记
    Android开发小记
    双网卡绑定(suse)
    xen虚拟机操作整理
    linux网络相关命令使用
    lua协程并发下载简单测试
    linux使用技巧(shell/vi/screen)
    爬虫之scrapy框架
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4855448.html
Copyright © 2011-2022 走看看