一只IT界中的菜鸟,我立志做一只最菜的鸟

授人以鱼不如授人以渔

作为一个程序猿我们要有一个善于分析你所见到的产品,最起码你要知道让你做你能不能实现功能

话不多说进入主题

去重作用就是保证数据的唯一性,去重要做的第一件事就是 重写 Object 中的equals 和 hashCode方法

为什么要重写这两个方法

我们要知道Object类中定义的equals()方法是用来比较两个引用所指向的对象的内存地址是否一致;hashCode()是根据对象的值。

有时我们会希望两个不同对象的值相同时、就认为它们两个相同,但是Object中的equals()比较的是地址,所以重写equals()方法,HashCode同样的原理

到本文的重点了上代码

  1. 继承Object类
public class people  extends  Object {

2.重写equals 和 hashCode方法

 @Overridepublic   boolean  equals(Object  o){if (o==null) //if后面只有一行是可以省略 {}return  false;if (this==o)return  true;if (o instanceof  people){  //instacheof 比较两个是否是同一类型的对象people p=    (people)o;if (p.getName().equals(this.getName())  &&  p.getAge().equals(this.getAge())){ //name和age是我提供的两个属性return  true;}}return  false;}@Overridepublic  int  hashCode(){return Objects.hash(name,age);}

3.测试

  @GetMapping("/postMan")public   String   postman(){Set<people> peopleHashSet = new HashSet<>();people p  = new people();p.setName("c罗");p.setAge(34);people p1  = new people();p1.setName("c罗");p1.setAge(34);people p2  = new people();p2.setName("姚明");p2.setAge(36);/* people p1 = new people("姚明",36); //这样写必须要有构造函数people p2  = new people("c罗",34);*/peopleHashSet.add(p);peopleHashSet.add(p1);peopleHashSet.add(p2);String    resultPostNan=null;for (people  ps:  peopleHashSet) {resultPostNan += ps.toString();}return  resultPostNan;}

4 结果

如果有不明白的地方,可在下方留言评论或者私信留言,空闲时间看到会回复,如有不同见解欢迎指出问题,共同进步!!!

结束语

预祝全国高考考生,旗开得胜 高考加油送给千万辛辛学子

java中你知道怎么利用hashSet去重吗?相关推荐

  1. java中给对象的List集合去重的几种方法(Lambda)

    java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...

  2. java中两个list合并和去重操作

    java中两个list合并并去除重复 public static void main(String[] args) throws Exception {List list1 =new ArrayLis ...

  3. java中的几种泛型类——HashSet、HashMap、TreeSet、TreeMap,遍历map,排序,HashTable比较

    HashSet HashSet<E>泛型类在数据组织上类似于数学上的集合,可以进行"交"."并"."差"等运算. HashSet ...

  4. Java中的HashCode(2)之Hashset造成的内存泄露

    所谓内存泄露就是一个对象占用的一块内存,当这个对象不在被使用时,该内存还没有被收回. 例子 package cn.xy.test; public class Point2 {  private int ...

  5. java中JSB,Cocos Creator 利用JSB进行JS和Android相互调用

    一.JS调用Android 在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法.它的使用方法很简单: Java var ...

  6. java中HashMap、ArrayList、HashSet的存储原理及遍历方式汇总

    HashMap类 底层存储方式:1. HashMap在JDK1.7之前底层是用数组+链表的方式存储的:在JDK1.8之后底层是用数组+链表+红黑树存储的;2.HashMap里面实现了一个静态内部类En ...

  7. 利用HashSet给list去重

    如果有一个string的list要去重,那么可以用以下代码: List<String> orgIds=........//orgIds即可能存在重复数据的String的集合 //利用Has ...

  8. Java中List集合去重的几种方式

    准备数据: // 准备数据 List<String> list = new ArrayList(); list.add("a"); list.add("b&q ...

  9. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建

    Java中的表格怎么利用表格模型进行创建 发布时间:2020-12-03 16:44:43 来源:亿速云 阅读:89 作者:Leah 本篇文章给大家分享的是有关Java中的表格怎么利用表格模型进行创建 ...

最新文章

  1. [Win] 利用Memory DC抽取EXE的图标并保存为BMP文件
  2. MHA 日常维护命令集
  3. 本博客正式开通 Chat快问 功能
  4. Struts2-值栈的定义
  5. 四、卫星定位《苹果iOS实例编程入门教程》
  6. 解决npm 的 shasum check failed for错误
  7. php ajax复选框是否选中的值,jquery-ajax - php+ajax分页时,checkbox复选框选中的问题...
  8. Unity,基于layer的碰撞配置
  9. 最全面、最详细的“前端模块化”总结
  10. 邮局解决方案 发邮件邮箱使用 系统邮件自动发送 邮件发送提醒 网易免费企业邮 设置自己的域名邮箱
  11. 重新leetcode第1天——二叉树遍历算法讲解合集
  12. android手机和荣耀哪个版本好,【求测评】荣耀v40轻奢版与荣耀X10哪款更好?图文爆料分析...
  13. 科研笔记2:科技论文作图规范
  14. c语言74hc595程序,74hc595使用方法与单片机驱动源程序
  15. 零基础学习IT技术是有技巧的
  16. 如何制作SOLIDWORKS材料明细表模板
  17. 寻找怪数:有一种奇怪的自然数,它的比其本身小的所有因子之和等于它本身,例如:6=1+2+3,其中1、2、3都是6的因子,编程找出整数N之内的所有怪数。
  18. 关于python机器学习cross_val_score()交叉检验的参数cv实际默认为5这件事,你怎么看?
  19. 常见的希腊字母及读音
  20. ROC受试曲线AUC[TPR/ FPR/截断点/StratifiedKFold/KFold]

热门文章

  1. 《阿里巴巴 Android 开发手册》(三)
  2. EE302 - Lab 4
  3. 软件工程师在外企学什么?
  4. 乐高 计算机泡泡龙教案,泡泡龙的秘密小班科学教案
  5. 使用@Constraint配合自定义注解开发
  6. 计算机网络Wireshark抓包实操
  7. 菜鸟的GAMES图形学笔记 Lecture 6:Rasterization 2 (Antialiasing and Z-Buffering)
  8. Vim Vi 编辑器 显示语法高亮
  9. 工具_Linux_zstd压缩
  10. 文件与文件系统的压缩