Java 数据结构与算法系列精讲之哈希算法实现

作者:我是小白呀 时间:2022-01-10 23:56:07 

概述

从今天开始, 小白我将带大家开启 Java 数据结构 & 算法的新篇章.

Java 数据结构与算法系列精讲之哈希算法实现

获取哈希值

hashCode()方法可以返回一个对象的哈希值. 需要注意的是, 我们需要对值进行装箱, 才能调用

hashCode()方法.

Java 数据结构与算法系列精讲之哈希算法实现

例子:


public static void main(String[] args) {

// 小数
   Integer a = 1;
   System.out.println(a.hashCode());

// 负数
   Integer b = -1;
   System.out.println(b.hashCode());

// 小数
   Double c = 1.23;
   System.out.println(c.hashCode());

// 字符串
   String d = "Hello World";
   System.out.println(d.hashCode());
}

输出结果:

1
-1
1158867386
-862545276

哈希冲突

哈希冲突 (Hash Collision) 存在的原因是哈希算法被计算的数是无限的, 然而计算后的结果范围有限. 所以会出现两个不同的数据得到相同的哈希值的情况, 即哈希冲突.

Java 数据结构与算法系列精讲之哈希算法实现

哈希冲突的处理办法:

  • 链地址法: 将具有相同的 hash 值的 key 放入到同一个桶中

  • 开放地址法: 将具有相同 hash 值的 key 的后一个值向后顺移到空位

来源:https://iamarookie.blog.csdn.net/article/details/121965661

标签:Java,哈希实现,数据结构,算法
0
投稿

猜你喜欢

  • Spring如何使用xml创建bean对象

    2023-10-24 08:53:56
  • Android 利用 APT 技术在编译期生成代码

    2023-12-20 14:46:23
  • C语言malloc分配问题详解

    2023-07-22 05:10:34
  • Spring Boot加密配置文件特殊内容的示例代码详解

    2023-09-18 08:47:24
  • 浅谈JVM之使用JFR解决内存泄露

    2022-10-19 01:55:30
  • Java的System.getProperty()方法获取大全

    2023-11-10 20:12:12
  • Android利用ViewPager实现带小圆球的图片滑动

    2021-08-06 09:01:20
  • java打印正弦曲线示例

    2022-05-04 00:48:56
  • Spring集成Quartz的简单配置的方法

    2023-08-24 02:52:27
  • Android使用插件实现代码混淆

    2023-02-25 07:13:10
  • SpringBoot分离打Jar包的两种配置方式

    2023-01-30 09:06:59
  • 如何在Spring Boot中使用MQTT

    2023-10-08 20:39:13
  • Android自定义View之渐变色折线图的实现

    2023-09-23 21:43:03
  • Java实现FIFO任务调度队列策略

    2021-09-19 09:05:37
  • Android Handler 机制实现原理分析

    2022-01-14 23:46:49
  • Spring事务失效的场景梳理总结

    2023-02-23 16:23:24
  • Android Support Annotations资料整理

    2021-09-21 13:39:33
  • java使用@Transactional时常犯的N种错误

    2021-08-16 01:58:44
  • 基于struts2和hibernate实现登录和注册功能

    2022-03-23 00:27:43
  • 详解android与服务端交互的两种方式

    2022-11-08 00:24:51
  • asp之家 软件编程 m.aspxhome.com