首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
Hashset有什么特性,hashset判断存入的对象是否重
[问答题]
请谈谈Hashset有什么特性,hashset判断存入的对象是否重复是如何比较的
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(142)
分享
纠错
16个回答
添加回答
0
西瓜同学🏀
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。HashCode判断元素重复的标准时,首先计算新添加元素的hashCode值,当不重复是,则直接加入到该集合中,若发生重复,也称发生了碰撞,则进一步调用equals判断元素是否在逻辑上相同。
发表于 2019-04-29 19:09:35
回复(0)
更多回答
6
写代码的红黑🌲
HashSet里面存储的数据具有无序性。
底层是采用了HashMap来进行存储的,HashSet存入的对象被存放在了HashMap的Key里面,Value统一是被一个final Object PRESENT存储的。在进行元素插入的时候,会先进行
Key的
hashcode(也就是hashset存入的某个value)的计算以及equal方法在HashMap里面判断原有元素中是否已存在相同元素。
发表于 2018-12-28 16:42:12
回复(0)
2
W12345
Hashset 无序 不重复 底层通过hash表实现,通过equals方法,和hashcode方法确定数据元素的唯一性
发表于 2019-03-12 21:43:56
回复(0)
1
牛客406896883号
Hashset是对Hashmap的简单包装,判断对象是否相同时,先判断期hashcode,如果hashcode相同,则调用其eqlues方法判断是否相同,也就是说hashcode相同,对象不一定相等,但是对象相等,hashcode一定相同
发表于 2019-03-23 22:12:23
回复(0)
0
圣-保罗
首先比较hashcode如果不相同 那么直接插入,如果相同,那么再比较equal
发表于 2019-10-15 11:15:28
回复(0)
0
技术小迷弟
是不能重复的
发表于 2019-07-09 15:37:46
回复(0)
0
。。。。。dd
hashset继承了set接口,存放的数据不可重复,也是无序的。是否重复通过hashcode来比较
发表于 2019-05-06 19:40:24
回复(0)
0
TiAmo_9955
HashSet不能添加重复的元素,当调用add(Object)方法时候,
首先会调用Object的hashCode方法判hashCode是否已经存在,如不存在则直接插入元素;
如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元素。
发表于 2019-05-03 21:09:47
回复(0)
0
woli莹
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。
发表于 2019-04-29 19:43:18
回复(0)
0
九零二w
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。HashCode判断元素重复的标准时,首先计算新添加元素的hashCode值,当不重复是,则直接加入到该集合中,若发生重复,也称发生了碰撞,则进一步调用equals判断元素是否在逻辑上相同。
发表于 2019-04-26 23:13:43
回复(0)
0
Gaoyuer
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。HashCode判断元素重复的标准时,首先计算新添加元素的hashCode值,当不重复是,则直接加入到该集合中,若发生重复,也称发生了碰撞,则进一步调用equals判断元素是否在逻辑上相同。
发表于 2019-04-25 18:04:38
回复(0)
0
一个好名字
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。HashCode判断元素重复的标准时,首先计算新添加元素的hashCode值,当不重复是,则直接加入到该集合中,若发生重复,也称发生了碰撞,则进一步调用equals判断元素是否在逻辑上相同
发表于 2019-04-25 17:53:07
回复(0)
0
呀小裴
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的
发表于 2019-04-25 17:22:12
回复(0)
0
Soul~
HashSet是Set接口的实现类,因此,HashSet中的元素也是不能重复的。HashCode判断元素重复的标准时,首先计算新添加元素的hashCode值,当不重复是,则直接加入到该集合中,若发生重复,也称发生了碰撞,则进一步调用equals判断元素是否在逻辑上相同。
发表于 2019-04-25 14:31:28
回复(0)
0
Ly~
HashSet实现了Set接口,它不允许集合中有重复的值。当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有储存相等的对象。 public boolean add(Object o)方法用来在Set中添加元素,当元素值重复时则会立即返回false,如果成功添加的话会返回true。
发表于 2019-04-25 12:08:35
回复(0)
0
我系渣渣东
hashset类实现了set接口,所以就拥有啦set接口无序并且不可以重复特性
发表于 2018-12-27 20:35:55
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
测试工程师
Java
上传者:
小小
难度:
16条回答
142收藏
5065浏览
热门推荐
相关试题
3.下列关于表中西部省市区2006...
资料分析
言语理解与表达
资料分析
评论
(1)
4.该校1997年男女教师的比例为...
资料分析
言语理解与表达
资料分析
评论
(1)
计算机在工作过程中,若突然停电,(...
计算机常识
普及
C++
Pascal
选择题
评论
(1)
来自
NOIP2008初赛普及组
Mysql中表student_in...
数据库
SQL
评论
(1)
SQL中,下列涉及空值的操作不正确...
SQL
评论
(0)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题