首页 > 其他 > 详细

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

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

bubuko.com,布布扣

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

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

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

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!