黑马程序员技术交流社区

标题: 向HashSet中加入元素的执行流程 [打印本页]

作者: 沉湎码海    时间: 2017-2-13 07:23
标题: 向HashSet中加入元素的执行流程
向HashSet集合中加入元素的执行流程:

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

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


作者: xiaoyizi    时间: 2017-2-13 07:56
嗯嗯,还行





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2