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
投稿

猜你喜欢

  • Java中lombok的@Builder注解的解析与简单使用详解

    2022-12-29 06:44:55
  • 详解Spring框架下向异步线程传递HttpServletRequest参数的坑

    2021-05-31 04:45:21
  • 深入理解Java基础之try-with-resource语法糖

    2022-12-03 08:17:43
  • java实现快速排序图文详解

    2022-10-11 16:35:18
  • Java单元测试Powermockito和Mockito使用总结

    2021-11-12 14:59:07
  • Spring FreeMarker整合Struts2过程详解

    2023-03-01 00:30:52
  • Java多线程编程之读写锁ReadWriteLock用法实例

    2021-10-13 17:01:14
  • java 注解默认值操作

    2023-08-25 20:31:38
  • Java算法比赛常用方法实例总结

    2023-11-28 07:15:26
  • Maven实战之搭建Maven私服和镜像的方法(图文)

    2023-11-27 22:27:06
  • 实例讲述Java IO文件复制

    2023-01-30 17:25:32
  • Android 中TextView中跑马灯效果的实现方法

    2023-08-07 01:39:46
  • Java仿12306图片验证码

    2022-09-29 05:36:08
  • JVM完全解读之GC日志记录分析

    2022-09-22 12:43:08
  • Java反射机制的简单讲解

    2023-12-12 20:49:13
  • spring mvc实现登录账号单浏览器登录

    2022-06-28 22:29:47
  • Java中常见的查找算法与排序算法总结

    2021-07-14 13:21:23
  • 史上最全的java随机数生成算法分享

    2023-10-17 15:22:33
  • springboot 实战:异常与重定向问题

    2022-03-06 15:44:54
  • Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

    2023-11-08 14:48:13
  • asp之家 软件编程 m.aspxhome.com