Student实体类实现HashSet集合,唯一性

news/2024/11/8 3:09:05/
Student类如下所示:
package com.test.Test07;import java.util.Objects;public class Student {private int age;private String name;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Student{" +"age=" + age +", name='" + name + '\'' +'}';}public Student(int age, String name) {this.age = age;this.name = name;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age &&Objects.equals(name, student.name);}@Overridepublic int hashCode() {return Objects.hash(age, name);}
}

测试类如下所示:

package com.test.Test07;import java.util.HashSet;public class TestStudent {//这是一个main方法,是程序的入口public static void main(String[] args) {//创建一个HashSet集合HashSet<Student> hs = new HashSet<>();hs.add(new Student(19,"lili"));hs.add(new Student(20,"lulu"));hs.add(new Student(18,"feifei"));hs.add(new Student(19,"lili"));hs.add(new Student(10,"nana"));System.out.println(hs.size());  // 5System.out.println(hs);         //[Student{age=18, name='feifei'}, Student{age=10, name='nana'}, Student{age=20, name='lulu'}, Student{age=19, name='lili'}, Student{age=19, name='lili'}]/*//现在就变成了4条数据,HashSet符合唯一性的特点了。4[Student{age=18, name='feifei'}, Student{age=19, name='lili'}, Student{age=20, name='lulu'}, Student{age=10, name='nana'}]*/}
}


http://www.ppmy.cn/news/87577.html

相关文章

澳洲学生用ChatGPT代写?澳洲多所高校使用全新反击工具检测

朋友们听句劝 ChatGPT可太危险了 ChatGPT有多火&#xff1f;据2月1日瑞银发布的一项研究报告显示&#xff0c;仅仅发布两个月&#xff0c;ChatGPT月活跃用户已达1亿&#xff0c;这是历史上增长速度最快的应用。要知道达成1亿用户的时间&#xff0c;Instagram用了2.5年&#xf…

Java并发体系-锁与同步-[2]

可见性设计的硬件 从硬件的级别来考虑一下可见性的问题 **1、第一个可见性的场景&#xff1a;**每个处理器都有自己的寄存器&#xff08;register&#xff09;&#xff0c;所以多个处理器各自运行一个线程的时候&#xff0c;可能导致某个变量给放到寄存器里去&#xff0c;接着…

redis缓存数据库的使用

一&#xff0c;什么是redis &#xff1f;为什么要用它&#xff1f; 简单介绍&#xff1a; Redis是开源的key-value缓存框架&#xff0c;由c语言编写&#xff0c;也是一款高性能的框架提供多种语言的API 。 SET 每秒11万次 取get每秒81000次。 数据完全存储在内存空间中&…

基于html+css的图片展示92

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Python基础-数据类型转换

数据类型之间的转换 将自身的数据类型变成新的数据类型,并且拥有新的数据类型的所有功能的过程即为类型转换为方便更好的帮助处理业务,将类型变更为更适合业务场景的类型 字符串与数字之间的转换 转换要求 字符串转换为数字,需要确保字符串中没有任何的字母或者符合数字转换…

实测「360智脑」的真正实力:能否领跑国内百“模”大战?

ChatGPT 的发布&#xff0c;无疑掀起了一股“AI 技术”新浪潮。百度文心一言、华为盘古、商汤日日新、阿里通义千问、讯飞星火等众多大模型的接连问世&#xff0c;使得国内的“百模之战”进入了前所未有的白热化阶段。无论是各大互联网巨头&#xff0c;还是清华、复旦等知名高校…

解决Ubuntu下载速度或更新速度缓慢问题

步骤&#xff1a; 1、备份原来的源文件 2、新建一个sources.list文件 3、更新apt软件源 4、修改损坏的依赖包&#xff0c;卸载出错的包&#xff0c;重新下载新的正确的版本 5、更新 Ubuntu 系统自带的源文件&#xff0c;都是国外的源网址&#xff0c;在国内下载安装升级源…

C++STL— priority_queue的使用与模拟实现

priority_queue的使用 priority_queue的介绍 优先级队列默认使用vector作为其底层存储数据的容器&#xff0c;在vector上又使用了堆算法将vector中的元素构造成堆的结构&#xff0c;因此priority_queue就是堆&#xff0c;所有需要用到堆的位置&#xff0c;都可以考虑使用prio…