关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
G帅T
2023-04-21 20:58
采纳率: 75.3%
浏览 11
首页
编程语言
已结题
java中hashset集合equals重写问题
java
我重写的代码,当id重复的时候就添加失败,为啥没重复不输出那个添加成功?
对于hashcode的重写数返回了id的hashcode值
收起
写回答
好问题
0
提建议
关注问题
微信扫一扫
点击复制链接
分享
邀请回答
编辑
收藏
删除
收藏
举报
2
条回答
默认
最新
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
threenewbee
2023-04-21 21:08
关注
看你的代码怎么调用的。equals就是判断两个对象相等,为啥要加上什么添加成功添加失败这些不相干的逻辑。这些应该放在主程序
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
解决
无用
评论
打赏
微信扫一扫
点击复制链接
分享
举报
评论
按下Enter换行,Ctrl+Enter发表内容
查看更多回答(1条)
向“C知道”追问
报告相同问题?
提交
关注问题
java
集合
框架
hashset
重写
equals
的
问题
java
2017-10-24 15:12
回答 2
已采纳
输出的错误是什么,起码要对应错误来分析
java
集合
框架
hashset
重写
equals
java
2017-10-14 14:22
回答 1
已采纳
1
equals
方法的形参是Object类型的,需要做强制类型转换为Person类型,才能进行比较,对两个不同类的对象比较是否相等是没有意义的。 return的是根据业务逻辑来的,样例
中
是在名字相等
java
集合
框架
hashset
重写
hashcode和
equals
方法
java
2017-10-16 14:52
回答 1
已采纳
这个要根据需要
重写
,默认的
equals
是比较引用,这不能满足
hashset
的需要,hashcode也是一样的道理。
Java
中
HashSet
要
重写
equals
方法和hashCode方法
2021-11-10 20:21
kkkyzp的博客
Java
编程使用
HashSet
添加对象时,由于要符合Set的特点(没顺序,不重复)所以必须
重写
equals
方法和hashCode方法。 第一: Set
集合
没有顺序,也不允许重复。 为什么要这样:模拟现实的
集合
。 这里的重复只是:...
Object类存入
HashSet
,
重写
equals
方法。
intellij-idea
java
2021-11-02 22:03
回答 2
已采纳
问题
出在你
重写
的
equals
方法上,17行的 this.name == obj 换成this.name == ((Person) obj).name就不会有重复值了。解析:
HashSet
底层用的是Ha
java
集合
hashset
的add
问题
望大神解惑
java
2017-03-03 08:14
回答 4
已采纳
1.首先
hashset
的底层实现是hashmap,
hashset
就是hashmap的keyset; 2.hashmap需要的是key和value,
hashset
的add只是有一个key,而value
java
如何理解
equals
与HashCode方法的
重写
代码
java
有问必答
测试用例
2022-11-05 11:41
回答 2
已采纳
如果不
重写
,两个对象之间比较的是地址,地址肯定不相等,所以达不到去重的效果。
重写
了
equals
方法与HashCode的目的是可以根据自己的规则来让程序认为对象之间什么情况下是相等的,如:只要对象
中
的各
java
集合
——
Java
中
的
equals
和hashCode方法详解
2020-09-01 08:07
在
Java
编程语言
中
,`
equals
()` 和 `hashCode()` 方法是Object类
中
定义的基本方法,所有类都默认继承自Object类,因此每个
Java
对象都有这两个方法。这两个方法在处理
集合
类,尤其是Set接口的实现(如
HashSet
)时起着...
java
中
set
集合
java
2022-07-17 22:52
回答 1
已采纳
import
java
.util.
HashSet
; public class Person { public String name; public int age;
java
HashSet
存储自定义对象
问题
eclipse
java
2019-04-29 20:57
回答 3
已采纳
Test类
中
最后两句话打印s1和s2的地址 这个打印的不是地址,而是hash值。hash相同未必就是同一个对象。 因为默认的toString()就是输出hashcode,所以第二个
问题
没有回答的必
java
集合
框架
HashSet
.....
java
2017-11-12 10:25
回答 2
已采纳
hs.add(p1); 调用这一行,会调用hashCode,为什么调用2次,这个要看
HashSet
它内部怎么实现的。
Java
中
equals
方法的
重写
需要注意什么?
2024-08-05 08:31
破碎的天堂鸟的博客
对于任何非空引用x,x.
equals
(x)必须返回true。这是确保对象与其自身的比较结果一致的基本要求。...这确保了整个对象
集合
中
的比较是连贯的。:只要两个对象的属性内容没有改变,它们的
equals
方法应该返回相同的值。
java
中
为何
重写
equals
时必须
重写
hashCode方法详解
2020-08-26 19:06
在
Java
编程语言
中
,`
equals
()` 和 `hashCode()` 方法是对象身份验证和哈希表操作的关键组成部分。当我们在自定义类
中
重写
`
equals
()` 方法时,通常也需要
重写
`hashCode()` 方法,这是为了遵循一些重要的原则和保证...
HashSet
要
重写
equals
方法和hashCode方法
2018-08-08 17:08
小东升职记的博客
注:重要笔记在代码
中
注释有 ...2:如果set
中
hash表里面有对应的hash值,就让后面的对象调用
equals
方法和之前的hash值不同的对象进行比较,如果返回为true就证明存在,不在储存,入伙返回为false则视为新对象...
[
Java
]
HashSet
集合
中
元素的添加过程
2021-12-06 00:59
96岁对抗java的博客
HashSet
集合
中
元素的添加过程 我们想要清楚
HashSet
中
的
中
的元素是如何存储的,这个时候我们就先要清楚
HashSet
底层是通过怎样一个结构来存储数据的
HashSet
底层的存储
HashSet
底层是通过数组来实现的,只不过
HashSet
...
java
中
hashCode、
equals
的使用方法教程
2020-08-28 10:02
在
Java
编程语言
中
,`hashCode()` 和 `
equals
()` 方法对于对象的比较和处理至关重要,尤其在
集合
类(如Set和Map)
中
。这两个方法都源自`
java
.lang.Object`类,因此所有的
Java
类都默认继承了它们。理解并正确地
重写
这...
没有解决我的问题,
去提问
向专家提问
向AI提问
付费问答(悬赏)服务下线公告
◇ 用户帮助中心
◇ 新手如何提问
◇ 奖惩公告
问题事件
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
系统已结题
4月29日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
已采纳回答
4月21日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
创建了问题
4月21日