博客
关于我
HashMap和ArrayList初始大小和扩容后的大小
阅读量:286 次
发布时间:2019-03-03

本文共 352 字,大约阅读时间需要 1 分钟。

创建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

转载地址:http://barl.baihongyu.com/

你可能感兴趣的文章
使用开源可视化工具来理解你的 Python 代码 | Linux 中国
查看>>
【2021 ECUG Con】聚势而来,与你相约花开时
查看>>
硬核观察 | 有人在比特币骗局中损失了 10 个比特币
查看>>
FreeDOS 的简单介绍 | Linux 中国
查看>>
使用 top 命令了解 Fedora 的内存使用情况 | Linux 中国
查看>>
怎样解决 “sub process usr bin dpkg returned an error code 1” 错误
查看>>
Bat:一种具有语法高亮和 Git 集成的 Cat 类命令 | Linux 中国
查看>>
Linux 上最好的五款音乐播放器 | Linux 中国
查看>>
网易云首倡中台方法论,发布全链路中台技术方案
查看>>
传输层协议
查看>>
如何加载dll文件计算UDS服务的秘钥
查看>>
细数哪些网络用户需要换IP?
查看>>
codeforces1307D 1900分最短路
查看>>
2020牛客暑期多校训练营(第九场)
查看>>
The 2016 ACM-ICPC Asia Dalian Regional Contest 部分题解
查看>>
8皇后问题 递归 函数调用是重点
查看>>
1541 +1 *2 ²
查看>>
老鼠走迷宫
查看>>
ural 1627 生成树计数模板题 基尔霍夫矩阵树定理 + 行列式计算模板
查看>>
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
查看>>