HashMap

HashMap本质是哈希表,通过k-v存储数据,映射关系通过哈希函数构造。

哈希函数的实现方式

1.直接定址法:取关键字的线性函数值作为哈希地址。
2.数组分析法:取关键字中的若干位作为哈希地址。
3.平方取中法:取关键字平方后的中间几位作为哈希地址。
4.折叠法:将关键字分割成位数相同的几部分,然后这几部分叠加作为哈希地址。
5.除留余数法(常见)
6.随机函数法

能够解决哈希冲突的方法

哈希冲突:若干个key对应相同的哈希地址。
解决方法:
1.开放地址法
2.链地址法:将所有哈希地址冲突的记录存储在同一个线性链表中。
3.公共溢出区法:将所有哈希地址冲突的记录都填入到溢出表中。
4.再哈希法

HashMap的遍历

Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Entry entry  = (Entry)iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HashMap 是 Java 面试必考的知识点,面试官从这个小知识点就可以了解我们对 Java 基础的掌握程度。网...
    野狗子嗷嗷嗷阅读 11,687评论 9 107
  • 前言 这次我和大家一起学习HashMap,HashMap我们在工作中经常会使用,而且面试中也很频繁会问到,因为它里...
    liangzzz阅读 12,432评论 7 102
  • 前言 今天来介绍下HashMap,之前的List,讲了ArrayList、LinkedList,就前两者而言,反映...
    嘟爷MD阅读 7,891评论 2 56
  • 支持妈妈,有位博主说的对“只有受到霸淩的孩子和懂得并愿意去理解孩子感受的大人才知道经受霸凌的痛苦和无助,在其他人看...
    一本正经5阅读 2,271评论 0 0
  • 作者/赵奇越 忙碌中无暇顾及的亲情, 浓缩在短暂的假日驻足, 绘成一幅美丽的画卷, 一双坚实的大手, 搀扶头顶霜白...
    赵奇越阅读 2,490评论 2 2

友情链接更多精彩内容