首页 > 代码库 > 图解:Set检查是否为重复对象的策略
图解:Set检查是否为重复对象的策略
反思:为什么要先通过先检索hashcode是否相等呢?
查看Hashset的底层源代码:它其实是调用HashMap,而HashMap底层是通过数组维护数据,你想想,如果你的数据是1000万条,每次添加了的时候,你都和所有的元素进行比较,那为了维护不重复,你插入的成本得有多高!!!!太可怕了,!!所以通过引入Hashcode,转换一下,把它作为下标,然后在检查一下这里面存的元素是否想等,用equals比较。下面这段话,如果你暂时看不懂没有关系,我也是自己写了一个Hash表,在查看HashMap,我才明白它底层的实现机制。大家只要记住这个图就行了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。