您当前的位置: 首页 >  Java

小新爱学习.

暂无认证

  • 1浏览

    0关注

    89博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java基础】之 哈希值

小新爱学习. 发布时间:2022-07-25 20:31:20 ,浏览量:1

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

前言:

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

个人名片:

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

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

哈希值✨✨✨ 1.1 概述:🎏

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

注:

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

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

在这里插入图片描述

  • 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

    }
}

注:默认情况下,不同对象的哈希值是不相同的 通过方法重写,可以实现不同对象的哈希值是相同的 在这里插入图片描述

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

字符串重写了hashCode()方法 在这里插入图片描述

关注
打赏
1663374351
查看更多评论
立即登录/注册

微信扫码登录

0.0525s