HashMap 的性能因子
来源:互联网 发布:红五星3d图库永久域名 编辑:程序博客网 时间:2024/06/05 05:06
参考目录:
1. HashMap 散列初体验
2. 为什么HashMap 常用String 对象作key
3. HashMap 原理
4.自定义 hashCode()
5.HashMap 的性能因子
在实际应用中,当HashMap 默认的查找速度与存储速度不能满足我们的需求时,我们可以通过手工调整HashMap 来提高性能,从而满足我们对特定应用的需求。在调整HashMap 之前有一些术语首先让我们共同了解一下。
- 桶(bucket):表示实际散列表的数组。
- 容量:表示桶中的位数
- 初始容量:表在创建时所拥有的桶位数。HashMap 与 HashSet 都允许你在初始化的时候指定初始容量的大小
- 尺寸:表示当前存储的项数
- 负载因子:尺寸/容量。空表的负载因子是0,半满表的负载因子是0.5,以此类推。负载轻的表产生冲突的可能性小,因此对于插入和查找都是最理想的状态(但是会减慢使用迭代器遍历的过程)。HashMap 与HashSet 都允许指定负载因子的构造器,表示当负载情况达到该负载因子的水平时,容器将会自动扩容(增加桶位数),实现方式时使容量大致加倍,并重新将现有对象分布到新的桶位集中(这个过程被称为再散列)
HashMap 使用的默认的负载因子是0.75(也就是当表达到四分之三容量时,就进行散列),这个因子在时间和空间的代价之间达到了平衡。更高的负载因子可以降低表的空间,但是会增加查找代价,这样做是很忌讳的,因为在HashMap 中我们一般做的就是查询与插入操作。
下面是HashMap 的构造函数:
HashMap()
构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
HashMap(int initialCapacity)
构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
HashMap(int initialCapacity, float loadFactor)
构造一个带指定初始容量和加载因子的空 HashMap。
HashMap(Map<? extends K,? extends V> m)
构造一个映射关系与指定 Map 相同的新 HashMap。
在初始化的时候HashMap 允许我们创建指定大小容量与负载因子的map 以满足我们对特定的需求。
- HashMap 的性能因子
- HashMap的负载因子
- 从头认识java-15.7 Map(6)-介绍HashMap的工作原理-装载因子与性能
- HashMap的默认容量和加载因子
- HashMap 里的“bucket”、“负载因子” 介绍
- HashMap 里的“bucket”、“负载因子” 介绍
- HashMap 负载因子
- HashMap 负载因子
- HashMap 扩容 加载因子
- HashMap之负载因子
- 从源代码看HashMap的加载因子和容量分配
- HashMap的初始容量(initialCapacity)和装载因子(loadFactor)
- hashmap 中的初始容量和加载因子之间的联系
- 影响hashMap性能的因素
- 理解 HashMap 加载因子 loadFactor
- 理解 HashMap 加载因子 loadFactor
- oracle 聚簇因子对查询性能的影响
- HashMap和ConcurrentHashMap的并发性能测试
- DBCP object created 2017-12-01 08:48:35 by the following code was never closed
- Unity 项目管理与优化
- spring中的classpath代表哪个目录
- 第一个基于Spring-Boot框架的项目以及Java8新特新之stream流操作的简单细说
- Python使用OCR技术识别图片中的文字(入门篇)
- HashMap 的性能因子
- 去掉开头连续出现的某个字符
- Redis入门之 redis set集合的操作
- CentOS文件管理
- mongoDB及Driver 版本号
- 启动命令窗口快捷方式
- 公众号三级分销海报,php开发微信三级分销
- JavaWeb——mybatis模糊查询与主键返回
- 【1701H1】【穆晨】【171201】连续第五十二天总结