码迷,mamicode.com
首页 > 其他好文 > 详细

图解:Set检查是否为重复对象的策略

时间:2014-07-30 20:54:34      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:java

bubuko.com,布布扣

反思:为什么要先通过先检索hashcode是否相等呢?

查看Hashset的底层源代码:它其实是调用HashMap,而HashMap底层是通过数组维护数据,你想想,如果你的数据是1000万条,每次添加了的时候,你都和所有的元素进行比较,那为了维护不重复,你插入的成本得有多高!!!!太可怕了,!!所以通过引入Hashcode,转换一下,把它作为下标,然后在检查一下这里面存的元素是否想等,用equals比较。下面这段话,如果你暂时看不懂没有关系,我也是自己写了一个Hash表,在查看HashMap,我才明白它底层的实现机制。大家只要记住这个图就行了。

图解:Set检查是否为重复对象的策略,布布扣,bubuko.com

图解:Set检查是否为重复对象的策略

标签:java

原文地址:http://blog.csdn.net/u012427937/article/details/38304417

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!