HashSet使用前的排重工作
如何排重?
这里为什么数据“重复”了呢
这肯定不是数据重复啊。因为p4是新建对象,地址跟p1不同,二者是不同的!
如下图:很明显添加数据是不可重复的
如果想让名字和年龄相同的对象是同一个对象,怎么办呢?
1.在Person类里边重写hashCode方法
如下图,重写hashCode方法以后同名同年龄数据还是添加成功了,排重失败。因为equals方法返回false仍然判断两个数据是不相同的。
2.重写equals方法
自动重写:
手动重写:
重写两个方法以后,如下图所示,同名同龄数据添加失败,成功完成了排重工作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律