HashMap的工作原理是什么

内容摘要
原理介绍如下:HashMap是基于Hash算法实现的。(在线学习视频教程分享:java视频教程)在使用put(key,value)方法时,HashMap会根据key.hashCode()方法得出key的hash值,然后根据hash值
文章正文

原理介绍如下:

HashMap是基于Hash算法实现的。

(在线学习视频教程分享:java视频教程)

在使用put(key,value)方法时,HashMap会根据key.hashCode()方法得出key的hash值,然后根据hash值找到对应的bucket位置,如果这个区域已经有元素存在,则会再做一个euqal()比较,如果相等,则新增失败,因为HashMap不允许有相同key值,如果不相等,只是单纯的hash冲突。

JDK1.8前,HashMap会把这个元素存入链表的下一个节点, HashMap在每个链表节点中储存的都是键值对对象。JDK1.8之后,HashMap加入了红黑树,所以在链表节点数目超过8个后,会由链表转为红黑树,而一旦小于,又会从红黑树转回链表。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!