美文网首页我爱编程
HashMap常用方法实现原理

HashMap常用方法实现原理

作者: 叫我小码哥 | 来源:发表于2018-04-14 17:30 被阅读0次

        在java集合中HashMap是我们应用较为普遍的一个集合类型,HashMap存取元素时,采用的是key--value的形式进行存取元素的。在JDK1.8的HashMap的底层实现为数组+链表+红黑树。HashMap的初始容量是16增长因子为0.75。

进行put操作的过程。

往HashMap中put元素时,先根据key的HashCode值计算hash值,根据Hash值得到数组元素的下标,如果数组的位置上没有其他元素直接将该元素放到该位置上,如果该位置上已有其他元素,则进行链表的形式存放,采用尾插法,新加入的放在链表的头部,最先加入的放在链表的尾部。

执行get过程。

从HashMap中取元素时,首先根据key的hashCode,根据hashCode值计算出hash值找到数组中对应的位置,然后根据key的equals方法找到链表中对应的位置。

总结:

HashMap采用key-value进行存取对象,entry对象就是key-value的一个整体,HashMap的底层采用Entry[]数组进行保存key-value,当需要一个对象时hashCode方法会计算出在数值的某个位置,equals方法会计算出在链表的某个位置。

相关文章

  • HashMap常用方法实现原理

    在java集合中HashMap是我们应用较为普遍的一个集合类型,HashMap存取元素时,采用的是key--val...

  • HashMap源码解析(一)

    前言 本篇主要了解下HashMap的源码, 以便了解其常用方法的实现原理.本篇以android SDK API26...

  • 2020-04-03 Java HashMap的实现原理的文章

    HashMap的扩容机制---resize() HashMap底层实现原理 扩容机制 Java中HashMap的实现原理

  • Hash*的实现原理

    HashMap和Hashtable的区别 HashMap的实现原理 Hashtable的实现原理 LInkedHa...

  • ConcurrentHashMap 原理解析(JDK1.8)

    了解ConcurrentHashMap 实现原理,建议首先了解下HashMap实现原理。HashMap 源码解析(...

  • Java-HashMap 精讲原理篇

    本文涉及HashMap的: HashMap的简单使用 HashMap的存储结构原理 HashMap的扩容方法原理 ...

  • JUC学习笔记二

    HashMap HashMap类实现了Map接口,所以实现了Map常用的一些方法,Map通常在java开发中被称为...

  • 源码

    一,HashMap HashMap实现原理 具体原理参考文章:http://zhangshixi.iteye.co...

  • HashMap

    HashMap 的实现原理 HashMap 是基于 hashing 原理,我们通过 put() 和 get() ...

  • Android 技能图谱学习路线

    Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 H...

网友评论

    本文标题:HashMap常用方法实现原理

    本文链接:https://www.haomeiwen.com/subject/mxmlkftx.html