java学习笔记 集合 --- Set 哈希值
知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
1 Set哈希值
哈希值:是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
Object类中有一个方法可以获取对象哈希值
(1)public int hashCode:返回对象的哈希码值
特点
(1)同一个对象多次调用hashCode()方法返回的哈希值时相同的
(2)默认情况下,不同对象的哈希值时不同的,而重写hashCode()方法,可以实现让不同对象的哈希值相同
package Hash;
public class HashDemo {
public static void main(String[] args) {
// 创建学生对象
Student s1 = new Student("灰太狼", 20);
// 同一个对象多次调用 hashCode() 方法的哈希值时相同的
System.out.println(s1.hashCode()); // 460141958
System.out.println(s1.hashCode()); // 460141958
System.out.println("--------");
Student s2 = new Student("灰太狼", 20);
// 默认情况下,不同对象的哈希值时不同的
// 通过方法重写,可以实现不同对象的哈希值是相同的
System.out.println(s2.hashCode()); // 1163157884
System.out.println("--------");
System.out.println("hello".hashCode()); // 99162322
System.out.println("world".hashCode()); // 113318802
System.out.println("java".hashCode()); // 3254818
System.out.println("--------");
// 这里有些版本是 不同汉字 相同哈希
System.out.println("牛排".hashCode()); // 933015
System.out.println("勇气".hashCode()); // 684589
}
}
参考地址
https://www.bilibili.com/video/BV18J411W7cE?p=239
标签: