Java-哈希表
2022/4/4 11:19:02
本文主要是介绍Java-哈希表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
哈希表
1.1哈希表概述:
- 是由哈希表函数和HashTable 组成的,其中哈希函数是可以进行自定义的,hash函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表
哈希函数
- 一般情况下哈希函数默认是数据对hashtable 的长度进行取模运算,从而计算出数据存储的位置
哈希碰撞
- 即不同的key值产生了相同的地址,H(key1)=H(key2)
比如我们上面说的存储3 6 9,p取3是 3 MOD 3 == 6 MOD 3 == 9 MOD 3 此时3 6 9都发生了hash冲突
哈希冲突的解决放方案
首先有一个H(key)的哈希函数 如果H(key1)=H(keyi) 那么keyi存储位置H i = ( H ( k e y ) + d i ) M O D m H_i=(H(key)+d_i)MOD mH i =(H(key)+d i )MODmm为表长 di有三种取法 1.线性探测在散列 2.平方探测再散列 3.随机探测在散列
实际开发中哈希表也是很少单独使用的,一般情况下,会结合链表一起去使用(双链表)
————————————————
版权声明:本文为CSDN博主「洌冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011109881/article/details/80379505
这篇关于Java-哈希表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?