A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

向HashSet集合中加入元素的执行流程:

   1.在向集合中加入该对象A之前,
        首先调用对象A的hashCode()方法,得到该对象的哈希值。
       
   2.把该对象的哈希值放入哈希表中,然后,在集合中存储该对象

   3.当再向集合中加入另一个对象B时,也是先调用对象A的hashCode()方法,得到该对象的哈希值。
     拿着这个哈希值,到哈希表中去查找,看看这个哈希值是否已经有了,
         
         如果两个对象的哈希值重复了,就会执行3
         
   4.调用对象B的equals()方法去和对象A比较,
     如果比较的结果是真,就放弃存储对象B.因为HashSet中
         不允许出现完全相同的元素。
         
          如果比较结果为假,则,在哈希表中对象A的哈希值处,顺延,并在内存中
          存储对象B.
          
          

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马