IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Object类中equals()和hashCode()的关联 -> 正文阅读

[数据结构与算法]Object类中equals()和hashCode()的关联

1.如果两个对象通过equals()方法相等,那么他们的hashCode返回值一定相同;如果两个对象的hashCode返回值相同,但它们的equals()方法不一定相等。

        Object obj1 = new Object();
        Object obj2 = obj1;
        //判断两个对象是否相等
        System.out.println(obj1.equals(obj2));
        //获取两个对象的哈希值
        System.out.println(obj1.hashCode());
        System.out.println(obj2.hashCode());

?以上展示为两个对象通过equals()方法相等,其hashCode值一定相等的情况。

2.两个对象的hashCode()返回值相等不能判断这两个对象是相等的,但两个对象的hashCode不相等则可以判定两个对象一定不相等。

        String s1 = "Aa";
        String s2 = "BB";
        System.out.println("s1 hashCode的值为:" +s1.hashCode());
        System.out.println("s2 hashCode的值为:" +s2.hashCode());

以上展示为hashCode值相等但对象不相同的情况。?

3.java的容器类被分为Collection和Map两大类,Collection又可以进一步分为List和Set。其中Map和set都不能有重复的,Map不允许有重复的键值,而Map和Set中大多数实现类底层都是散列表结构,比如HashMap、HashSet、HashTable。当我们在不能有重复元素的集合里存放新元素时,首先要判断有没有重复元素,而equals()方法在元素较多时效率很低,因为其时间复杂度为O(n),在有了散列表的配合后,通过计算新元素的哈希值判断该位置是否已经有元素,如果冲突则有元素,此时再使用equals()比较判断对象是否相同。此时哈希计算的时间复杂度为O(1),大大减少了equals比较的次数,极大的提高了数据的存储性能。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:19:45  更:2022-04-01 00:22:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:42:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码