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()方法一致。
添加回答
举报
0/150
提交
取消