package enumeration;
import java.util.HashSet;
import java.util.Objects;
public class HashSet_ {
public static void main(String[] args) {
HashSet hashSet = new HashSet();
Employee milan = new Employee("milan", 12500, new Employee.MyDate(2021, 11, 20));
Employee jack = new Employee("jack", 12500, new Employee.MyDate(2021, 11, 20));
Employee tom = new Employee("milan", 12500, new Employee.MyDate(2021, 11, 20));
hashSet.add(milan);
hashSet.add(jack);
hashSet.add(tom);
System.out.println("hashSet.size = " +hashSet.size());
System.out.println("hashSet = " + hashSet );
//重写他们的hashCode,如果name 和Age一样就放回相同的hashCode
// System.out.println(hashSet);
}
}
class Employee{
private String name;
private double sal;
private MyDate myDate;
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", sal=" + sal +
", myDate=" + myDate +
'}';
}
public Employee(String name, double sal, MyDate myDate) {
this.name = name;
this.sal = sal;
this.myDate = myDate;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Employee employee = (Employee) o;
return Double.compare(employee.sal, sal) == 0 &&
Objects.equals(name, employee.name) &&
Objects.equals(myDate, employee.myDate);
}
@Override
public int hashCode() {
return Objects.hash(name, sal, myDate);
}
static class MyDate{
int year;
int month;
int day;
public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
@Override
public String toString() {
return "MyDate{" +
"year=" + year +
", month=" + month +
", day=" + day +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MyDate myDate = (MyDate) o;
return year == myDate.year &&
month == myDate.month &&
day == myDate.day;
}
@Override
public int hashCode() {
return Objects.hash(year, month, day);
}
}
}
相关推荐
蜻蜓fm爬虫python
本文介绍了一个用于下载蜻蜓FM音频书籍的Python脚本实现。该脚本主要功能包括:1)通过账号密码登录获取认证信息;2)从目标书籍主页提取版本信息;3)获取书籍节目总数和分页信息;4)生成节目下载链接(使用HMAC-MD5加密算法生成请求签名);5)下载音频文件并保存。脚本采用多种反爬措施:设置User-Agent模拟浏览器行为、使用动态时间戳、HMAC-MD5签名验证等,有效规避简单的反爬机制。整个流程包括登录认证、获取书籍信息、生成下载链接和保存音频文件四个步骤,实现自动化批量下载功能。
HashSet 内部实现
HashSet 内部通过HasMap 实现
LightningChart使用教程:创建 JS 散点图
这是对 LightningChart JS XY 图表一些有趣功能的快速技术研究,以及如何使用 LightningChart JS 创建嵌入式散点聊天和添加自定义交互。 此图表将可视化一个 XY 坐标列表以及一个额外的自定义属性,它只是一段文本。这些自定义属性将与 UI 文本元素一起显示,这些元素将与用户的鼠标移动交互。 我们将介绍的突出功能是: 什么是散点图? 如何创建散点图? 如何将自定义属性附加到数据点。 如何创建交互式 UI 文本元素。 最终结果 什么是散点图? 散点图或散点图是..
Java中在类定义时对HashSet的初始化方法——匿名内部类
Java中在类定义时对HashSet的初始化方法 http://blog.youkuaiyun.com/puqutogether/article/details/44344821 2016-11-25 18:16 Java中很多时候都要用到HashSet的查找功能,那么在类的定义时,数据成员假如就是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时
华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具
参考文档1这个工具可以完美替代华硕奥创中心工具,可以定制化不同模式下的CPU、GPU、风扇转速、电池计划等。是由华硕开发人员开发的一个纯绿色的系统管理工具。直接展示启动后的工具界面效果图:这个工具也可以一键式停止正在运行的华硕ASUS服务,减少不必要的资源消耗。
在树莓派5(8G版)上运行Ollama + LLM
直接上结论,Ollama在树莓派上能安装,且本身运行起来毫无压力,但具体到大语言模型,Deepseek似乎不总是最佳选择。
HashSet类的用法
HashSet是实现Set接口的一个类,具有以下的特点:Ø 不能保证元素的排列顺序,顺序有可能发生变化。Ø 另外HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改Set中的值,就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果不存在这样的对象,可以使用Collections.synchronizedSet()
三维(点云)语义分割概述以及方法总结
语义分割 语义分割需要两部分 classification: 需要全局信息 segmentation:更加依赖全局信息和局部信息 一般的网络结构是: 提特征-特征映射-特征图压缩(降维)-全连接-分类,其实就是encoder-decoder的过程, 比如在二维的的pspnet,fcn等等 0. 三维表示的数据结构 Point cloud 无序性 点云实际上是无序的,比如有8个点云,你放到...
java 知识点 9(枚举、ajax、json、hashset、内部类、泛型、extends、反射)
文章目录写在前面1、枚举2、ajax、json3、js闭包4、java中的类4.1、java内部类5、js中的replaceWith()6、JAVA HashMap 和 HashSet6.1、 HashSet7、泛型7.1、泛型类7.2、泛型方法7.3、泛型接口8、上界和下届8.1、上界extends8.2、下届super 写在前面 本片学习笔记主要补充java的一些基础知识 1、枚举 简单的说,枚举就是所有值能列举出来的类型,比如性别、血型、星座等。 枚举本质上就是一个类。 用java定义一个枚举类型:
sqoop抽取mysql的数据到hive表里面,字段内容被自动截取,导致字段不全的问题解决
今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!! 强行转到博客的主题来 mysql的字段属性:该字段能存下的值比如:“山东” `province` varchar(3) NOT NULL COMMENT '省份' 用sqoop sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull..
手把手教你逆向抖店滑块验证码:从抓包到生成captchaBody的完整流程(附Python复现代码)
本文详细解析了抖店滑块验证码的逆向过程,从抓包分析到参数生成,最终用Python完整复现验证流程。涵盖关键接口分析、指纹参数生成、轨迹加密逻辑及核心加密算法实现,帮助开发者突破抖店的多重安全机制,实现高效的人机验证绕过。
对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序 * 使用静态内部类实...
/* * 对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序 * 2. 使用静态内部类实现 */ import java.util.*; public class TreeTest4 { private static Set<String> treeSet; publi...
【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理
【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理
java hashset 相同_Java中HashSet的重复性与判等运算重载
还有一个故事……(平行世界篇)这是一个关于另外一个平行世界——Java中的相似的故事……文艺复兴.jpg……还有一个美丽的梦幻家园:java.util在Java中,巧了,也有泛型的数据容器。不过,Java的容器和C#的组织方式有些不同,C#是单独开了一个System.Collections及子命名空间专门用于给容器类使用,而Java则是把容器连同其他的工具类一起丢到了java.util这一个大包中...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
Java中在类定义时对HashSet的初始化方法
Java中很多时候都要用到HashSet的查找功能,那么在类的定义时,数据成员假如就是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时候怎么办? 我们可以这样来做: public static final HashSet salesWords = new HashSet() {{ add("销售额"); add("销售");
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
javaSE关于静态内部类的笔记
package collection; import java.util.HashSet; import java.util.Set; public class MyClass { // 声明一个静态内部类 private static class InnerClass { // 静态方法 public static void m1(){ System.out.println("静态内部类的m1方法执行"); } .
java之HashSet
一.定义: 1.HashSet集合中的元素是通过hash值来比较是否相同 2.集合通过元素的hashCode和equals方法来比较两个元素是否相同, 不同就存入, 相同不存入 3.元素存入的位置是不可知的,和存入的顺序无关 二.存储原理 1.HashSet最终会存入数组中, 只是根据元素的Hash值来确定存入的位置 2.元素的hash值 (元素的hash值 >>> 16) &a...
对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序 *使用匿名内部类实...
import java.util.*; /* * 对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序 *1. 使用匿名内部类实现 */public class TreeTest3 { private static Set<String> treeSet; public...
【Java】HashSet初始化赋值
可采用以下两种方式进行初始化,效果都是一样的,方法2更为方便。 import java.util.Arrays; import java.util.HashSet; public class HashSetTest { // 方法1 public static final HashSet<Character> set1 = new HashSet<Character>(){{ add('a'); add('b'); a
HashSet和HashMap内部结构分析
首先明确一点:HashSet的底层就是HashMapHashSet与HashMap的不同点:HashMap存储的是键值对(也就是key-value),即在调用HashMap的put方法时传入的两个值,而HashSet其实也是存储的键值对,但是键值对的value是一个默认值(PRESENT,一个Object的对象)HashSet的方法也只能将key取出,不能取出value,而HashMap就有方法能将value也取出既然说HashSet的底层是HashMap,那来看看源码:来看看HashSet的add方法源码
HashSet应用HashSet最佳实践
HashSet最佳实践
HashMap、HashSet、List定义并初始化
HashMap定义并初始化: Map map = new HashMap() { { put( "Name" , "Unmi" ); put( "QQ" , "1125535" ); } }; List定义并初始化: List stooges = new ArrayList() {{ add( "Larry" );...
韩顺平 零基础30天学会Java中526P HashSet思考题
基本思路:由内部类完成birthday变量的类型定义(外部没有使用该类的必要就直接使用私有成员内部类实现),在调用Employee构造器的同时生成MyDate对象,完成Employee对象的初始化。这里只要求name和birthday相同就认为是相同员工,所以IDEA重写的Employee的hashSet方法和equals方法只传入这两个参数作为依据。
JDK之HashMap、HashSet分析
HashMap主要分析key、value的放入Map和取出Map操作以及他的遍历器。个人觉得在HashMap中有个很重要的内部类Entry,Map的put,get等重要方法都是依靠这个Entry的。先来分析下这个内部类Entry,Entry中有几个重要的变量key、value、next,不用说大家也会明白这几个变量的含义,当然也自然会有get和set方法了。当我们在遍历Map的时候,有一种方...
java内部类初始化_在java中 利用匿名内部类进行较简洁的双括弧初始化的方法
java的collection集合框架如set、map、list没有提供任何简便的方法供初始化。而每次建立集合都要将值一个个add进去。如Set letter=new HashSet();letter.add('a');letter.add('b');//...非常繁琐。但用匿名内部类的话。可以略为简便些。Set letter=new HashSet(){{add('a'); add('b'); ...
java在类定义时对hashset的便捷初始化方法
有时候我们在类成员定义时,当这个类成员类型为 HashSet时,我们可以不方便调用 add函数进行初始化,所以可以采用下面的便捷方式来进行初始化 1 public class MyTest{ 2 3 final HashSet<String> set = new HashSet<String>() { 4 { 5 ...
java hashset判重_Java中HashSet的重复性与判等运算重载
还有一个故事……(平行世界篇)这是一个关于另外一个平行世界——Java中的相似的故事……文艺复兴.jpg……还有一个美丽的梦幻家园:java.util在Java中,巧了,也有泛型的数据容器。不过,Java的容器和C#的组织方式有些不同,C#是单独开了一个System.Collections及子命名空间专门用于给容器类使用,而Java则是把容器连同其他的工具类一起丢到了java.util这一个大包中...
913



被折叠的 条评论
为什么被折叠?



