HashMap的原理

1. HashMap的数据结构

数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。HashMap其实也是一个线性的数组实现的,所以可以理解为其存储数据的容器就是一个线性数组。

2当我们往HashMap中put元素的时候,先根据key的hashCode重新计算hash值,根据hash值得到这个元素在数组中的位置(即下标),如果数组该位置上已经存放有其他元表了,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放在链尾。如果数组该位置上没有元素就直接将该元表放到此数组中的该位置上。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • hash算法 (hashmap 实现原理) Java实现的散列表 HashMap不允许有相同的key,也就是说ke...
    Mango_yes阅读 645评论 0 0
  • HashMap 是 Java 面试必考的知识点,面试官从这个小知识点就可以了解我们对 Java 基础的掌握程度。网...
    野狗子嗷嗷嗷阅读 6,719评论 9 107
  • 凡事预则立,不预则废 (二) 一天下午,物资局召开各公司法人代表的夫人座谈会,我想 会上肯定要请各...
    室静兰香a阅读 411评论 0 0
  • 1、JSP通过编译成servlet文件,所以第一次运行JSP响应速度慢 2、JSP(java server pag...
    b60059358b34阅读 181评论 0 0
  • 6点30分准时醒了过来,眯着眼奋力地思考了一分钟,决定起床,再去坐一次上个月必须坐的地铁一号线。 我一直认为自己是...
    弓谷所長阅读 560评论 0 0