前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >个人对hashMap的部分理解

个人对hashMap的部分理解

作者头像
jaychou
发布2022-12-26 14:50:54
1520
发布2022-12-26 14:50:54
举报
文章被收录于专栏:全栈开发笔记全栈开发笔记

一.单线程下的HashMap(JDK1.8)

HashMap类主要用来处理具有键值对特征的数据,随着JDK版本的更新中,JDK1.8对HashMap的底层进行了一些优化

HashMap是基于哈希表对map接口的实现,HashMap具有较快的访问速度,但是遍历顺序却是不确定的

HashMap提供所有可选的映射操作,并允许使用null值和null键

代码语言:javascript
复制
new HashMap<>().put(null,null);

HashMap并非线程安全,当存在多个线程同时写入HashMap的时候,可能会导致数据的不一致

hashMap有以下几个关键词

  1. LoadFactor称为负载因子,默认值为0.75
  2. threshold表示所能容纳的键值对临界值,threshold计算公式为数组长度 * 负载因子
  3. size是HashMap中实际存在的键值对数量
  4. modCount字段用来记录hashMap内部结构发生变化的次数
  5. HashMap的默认容量INITIAL_CARACITY为16

HashMap采用了数组+链表+红黑树的存储方式,HashMap的数组部分称为哈希桶,当链表长度大于8时,链表数据将以红黑树的形式进行储存,当降到6时就用链表

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年9月5日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.单线程下的HashMap(JDK1.8)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档