0
点赞
收藏
分享

微信扫一扫

【Java基础】之 哈希值



【Java基础】之 哈希值_人工智能

前言:

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默
经过小新缜密的思考与亲身体验,忍不住分享一下给大家。有人工智能兴趣的朋友们,推荐大家一起学习 🎉​​点击直接访问​​​🎉
里面有丰富的人工智能学习资料,真正做到从入门到入土,还不快来一起学习🎏🎏🎏

个人名片:

🐼作者简介:一名大一在校生
🐻‍❄️个人主页:​​小新爱学习.​​
🕊️系列专栏:零基础学java ----- 重识c语言
🐓每日一句:“不是看到希望才去坚持,而是坚持才能看到希望”

文章目录

  • ​​哈希值✨✨✨​​
  • ​​1.1 概述:🎏​​
  • ​​1.2 哈希值的获取🎊​​
  • ​​1.3 代码示例:🎐🎐🎐​​
  • ​​1.4 对象的哈希值的特点🎋🎋🎋​​

哈希值✨✨✨

1.1 概述:🎏

哈希值: 是JDK 根据对象的地址或者字符串或者数字算出来的int 类型的数值

注:

  • 哈希值不是对象的地址值,
  • 哈希值是个int 类型的数值

1.2 哈希值的获取🎊

Object 类中有一个方法可以获取对象的哈希值

【Java基础】之 哈希值_开发语言_02

  • public int hashCode();返回对象的哈希码值

1.3 代码示例:🎐🎐🎐

学生类:

package com.ithmm_05;

public class Student {
private String name;
private int age;

public Student() {
}

public Student(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
public int hashCode(){
return 0;
}
}

测试类:

package com.ithmm_05;

/**
* 哈希值: 是JDK 根据对象的地址或者字符串或者数字算出来的int 类型的数值
* public int hashCode();返回对象的哈希码值
*/
public class HashDemo {
public static void main(String[] args) {
Student s1 = new Student("张三",35);

//同一个对象多次调用hashCode()方法返回的哈希值是相同的
System.out.println(s1.hashCode());//356573597
System.out.println(s1.hashCode());//356573597

System.out.println("------------------------");
Student s2 = new Student("张三",35);

//默认情况下,不同对象的哈希值是不相同的

//通过方法重写,可以实现不同对象的哈希值是相同的
System.out.println(s2.hashCode());//1735600054
System.out.println(s2.hashCode());//1735600054

System.out.println("hello".hashCode());//99162322
System.out.println("world".hashCode());//113318802
System.out.println("java".hashCode());//3254818

System.out.println("-------------------------");
//字符串重写了hashCode()方法
System.out.println("重地".hashCode());//1179395
System.out.println("通话".hashCode());//1179395

}
}

注:默认情况下,不同对象的哈希值是不相同的
通过方法重写,可以实现不同对象的哈希值是相同的

【Java基础】之 哈希值_开发语言_03

1.4 对象的哈希值的特点🎋🎋🎋

  • 同一个对象多次调用hashCode()方法返回的哈希值是相同的
  • 默认情况下,不同对象的哈希值是不相同的,而重写hashCode()方法,可以实现让不同对象的哈希值相同

字符串重写了hashCode()方法

【Java基础】之 哈希值_java_04


举报

相关推荐

0 条评论