为了账号安全,请及时绑定邮箱和手机立即绑定

Set跟HashSet有什么区别

Set跟HashSet有什么区别

aaaaaaaaten 2016-12-31 21:51:56
查看完整描述

2 回答

已采纳
?
大咪

TA贡献785条经验 获得超332个赞

hashset是set的实现类,set是接口,set下面最主要的实现类就是hashset(也就是用的最多的),除此之外的实现类还有linkedhashset,treeset....... //Set存储的元素是无序的,是不可重复的! hashset特点: //1.无序性:无序性 != 随机性。真正的无序性,指的是元素在底层存储的位置是无序的。(根据hash值来存) //2.不可重复性:当向Set中添加进相同的元素的时候,后面的这个不能添加进去。 //说明:要求添加进Set中的元素所在的类,一定要重写equals()和hashcode()方法。进而保证set中元素的不可重复性! //set中的元素时如何存储的呢?使用了哈希算法。 //当向set中添加元素时,首先调用此对象所在类的hashCode()方法,计算此对象的hash值,此哈希值决定了此对象在set中的存储位置,若此位置之前没有对象存储,则此对象直接存到这个位置。(就好比一个教室,按号入座一样),若已有对象存储,在通过equals()方法比较这两个对象的是否相同,如果相同后一个对象不能再添加进来。 //万一返回false呢?都存储。(不建议如此) //>要求:hashcode()方法要与equals()方法一致。
查看完整回答
反对 回复 2017-01-01
  • 2 回答
  • 0 关注
  • 4611 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信