Java 数据结构与算法系列精讲之哈希算法实现
作者:我是小白呀 时间:2022-01-10 23:56:07
概述
从今天开始, 小白我将带大家开启 Java 数据结构 & 算法的新篇章.
获取哈希值
hashCode()
方法可以返回一个对象的哈希值. 需要注意的是, 我们需要对值进行装箱, 才能调用
hashCode()
方法.
例子:
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) 存在的原因是哈希算法被计算的数是无限的, 然而计算后的结果范围有限. 所以会出现两个不同的数据得到相同的哈希值的情况, 即哈希冲突.
哈希冲突的处理办法:
链地址法: 将具有相同的 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