HashSet使用前的排重工作

如何排重?

 

 

 

这里为什么数据“重复”了呢

这肯定不是数据重复啊。因为p4是新建对象,地址跟p1不同,二者是不同的!

如下图:很明显添加数据是不可重复的

 

 

 

如果想让名字和年龄相同的对象是同一个对象,怎么办呢?

1.在Person类里边重写hashCode方法

 

 

 如下图,重写hashCode方法以后同名同年龄数据还是添加成功了,排重失败。因为equals方法返回false仍然判断两个数据是不相同的。

 

 

2.重写equals方法

自动重写:

 

 手动重写:

 

 重写两个方法以后,如下图所示,同名同龄数据添加失败,成功完成了排重工作

 

posted @   无关风月7707  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示