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

HashSet集合是如何保证元素的唯一性的?

时间:2014-10-21 01:06:41      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:java hashset

HashSet集合的特点是元素无序和不重复 

首先,HashSet的底层数据结构是哈希表。哈希表就是存储一系列哈希值的表,而哈希值是由对象的hashCode()方法生成的。

确保元素唯一性的两个方法,hashCode()equals()方法。

当调用add()方法向集合中存入对象的时候,先比较此对象与原有对象的哈希值有没有一样的,如果都不一样就直接存入;如果有与之相同的哈希值,则要继续比较这两个对象是否为同一个对象,此时就要调用对象的equals()方法了。

总之,只有HashCode的至相同时,才会调用equals()方法。

在判断元素是否存在和删除一个元素的时候,也是这个过程。

HashSet集合是如何保证元素的唯一性的?

标签:java hashset

原文地址:http://blog.csdn.net/hello0370/article/details/40324899

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