【Java基础】之 哈希值

在这里插入图片描述
【Java基础】之 哈希值_第1张图片


在这里插入图片描述


前言:

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


个人名片:

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


文章目录

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


哈希值✨✨✨

1.1 概述:

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

注:

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

1.2 哈希值的获取

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

【Java基础】之 哈希值_第2张图片

  • 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基础】之 哈希值_第3张图片

1.4 对象的哈希值的特点

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

字符串重写了hashCode()方法
【Java基础】之 哈希值_第4张图片


你可能感兴趣的:(零基础学java,java,哈希算法,开发语言)