黑马程序员技术交流社区
标题:
向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