创建HashMap对象默认情况下,数组大小为16。

开始扩容的大小=原来的数组大小*loadFactor。

扩容后大小是原来的2倍,其中加载因子loadFactor的默认值为0.75,这个参数可以再创建对象时在构造方法中指定。

例如:

16*0.75=12,默认创建一个map对象数组大小是16,当map添加12个元素到的时候就发生扩容,创建新的数组的大小2*16=32,然后重新计算每个元素在新数组中的位置,而这是一个非常消耗性能的操作,所以如果我们已经预知HashMap中元素的个数,那么预设元素的个数能够有效的提高HashMap的性能。

ArrayList:线程不安全,查询速度快

底层数据结构是数组结构

扩容增量:原容量的 0.5倍+1

如 ArrayList的容量为10,一次扩容后是容量为16

HashMap和ArrayList初始大小和扩容后的大小相关推荐

  1. HashMap默认大小和扩容后的大小

    put添加的元素Entry就是数组中的元素,每个Map.Entry其实就是一个key-value对,它持有一个指向下一个元素的引用,这就构成了链表. 创建HashMap对象默认情况下,数组大小为16. ...

  2. hashmap 扩容是元素还是数组_曹工说JDK源码(1)--ConcurrentHashMap,扩容前大家同在一个哈希桶,为啥扩容后,你去新数组的高位,我只能去低位?...

    如何计算,一对key/value应该放在哪个哈希桶 大家都知道,hashmap底层是数组+链表(不讨论红黑树的情况),其中,这个数组,我们一般叫做哈希桶,大家如果去看jdk的源码,会发现里面有一些变量 ...

  3. 【解决】Linux  (centos7)扩容磁盘不显示扩容后的磁盘或者磁盘大小两种情况

    [解决]Linux  (centos7)扩容磁盘不显示扩容后的磁盘或者磁盘大小两种情况: 情况一:修改原来磁盘大小,一般是增加,特别是在虚拟化中 情况二:新增磁盘 情况一:修改原来磁盘大小后,系统磁盘 ...

  4. lvextend扩容后,发现还是原来的大小。报错: resize2fs: Bad magic number in super-block 打开 /dev/mapper/vg01-lv01 时的解决方法

    lvextend扩容后,发现还是原来的大小,以及报错: resize2fs: Bad magic number in super-block 打开 /dev/mapper/vg01-lv01 时的解决 ...

  5. 【226期】面试问我,HashMap 的默认初始容量是多少,我该怎么说?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

  6. 2017.4.16 ArrayList初始默认容量(长度)

    版权声明:本文原创作者:一叶飘舟 作者博客地址:http://blog.csdn.net/jdsjlzx 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小.它总是至少等于 ...

  7. 在C盘和D盘执行php 结果不同,window_双系统电脑给C盘扩容后导致D盘Win10引导项丢失该怎么办?,为了写个经验,特意把C盘用无 - phpStudy...

    双系统电脑给C盘扩容后导致D盘Win10引导项丢失该怎么办? 为了写个经验,特意把C盘用无损分区方法,把D盘的10G容量分配给C盘,增大C盘的空间,本来在C盘有Win7系统,D盘安装的是Win10系统 ...

  8. pve 加大local容量_proxmox ve (PVE) 增加 local 目录的大小即扩容

    最近又到了一台gen8又开始了瞎几把折腾的道路 TF卡32g proxmox 安装完后默认分配给了 local 目录7G,local-lvm 是20G 由于虚拟机备份文件VZDump默认是存储到loc ...

  9. List增删元素后size大小发生变化带来的影响、Stream流操作、Lambda表达式

    目录 List增删元素后size大小发生变化带来的影响 List的几种遍历方式 报异常原因 增强for循环原理 异常原理 建议删除操作 性能对比 Stream流操作 Lambda表达式 语法 Lamb ...

最新文章

  1. mysql mac客户端: sequel,mysql-workbench
  2. android LayoutInflater.inflate()的参数及其用法
  3. html列表按时间排序代码_按字母顺序排序的列表
  4. HTML5中的Web Notification桌面通知(右下角提示)
  5. Spring Tool Suite 错误: Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds.
  6. python导入xlsx转为csv_Python 拆分工作表为单个工作簿
  7. python爬取高德poi数据_高德地图之python爬取POI数据及其边界经纬度
  8. 社区拼团赛道的突然火爆,究竟是受何因素影响?
  9. 视频教程-大学数学实验(MATLAB版)-其他
  10. MySQl:子查询和关联查询哪个效率高
  11. 什么是OEM和ODM
  12. Lambda钱包API接入教程
  13. 一种中文字符串相似度算法
  14. 【小学信息技术教资面试】教案模板
  15. php视频降清晰度,HTML5视频播放器-video-js(带清晰度切换) | 小灰灰博客
  16. iosetup mysql_InnoDB: Error: io_setup() failed with EAGAIN
  17. iOS 【模仿App 获取app素材】
  18. SSM+社区线上超市购物系统毕业设计-附源码211704
  19. elasticsearch性能测试工具rally深入详解
  20. oa系统服务器地址怎么查,如何查询oa服务器地址

热门文章

  1. Maven中使用本地JAR包
  2. hdu 4409 Family Name List LCA +stl
  3. 工业机械人运动学正逆解,简单粗暴!!!!!!
  4. C#:WinForm无边框窗体移动方法、模仿鼠标单击标题栏移动窗体位置
  5. 极详细的ECC讲解 -OOB与ECC
  6. HALCON示例程序measure_metal_part_id.hdev使用xld边缘拟合检测零件加工是否合格
  7. 五轴加工的RTCP技术
  8. 【数据库学习笔记】——创建数据库文件
  9. 误码率越高越好还是越低越好_夜间护理步骤越多越好还是越少越好?NFF
  10. 产品运行所需的信息检索失败_为服务业注入新活力,华北工控推出服务机器人专用计算机产品方案...