首页 > 代码库 > HashMap实现原理
HashMap实现原理
static final int DEFAULT_INITIAL_CAPACITY = 16;// 默认初始容量为16,必须为2的幂
static final int MAXIMUM_CAPACITY = 1 << 30;// 最大容量为2的30次方
static final float DEFAULT_LOAD_FACTOR = 0.75f;// 默认加载因子0.75
transient Entry<K,V>[] table;// Entry数组,哈希表,长度必须为2的幂
transient int size;// 已存元素的个数
int threshold;// 下次扩容的临界值,size>=threshold就会扩容
finalfloat loadFactor;// 加载因子
static final int TREEIFY_THRESHOLD = 8;//由链表转换成树的阈值
static final int UNTREEIFY_THRESHOLD = 6;//由树转换成链表的阈值
static final int MIN_TREEIFY_CAPACITY = 64;//被树化时最小的hash表容量,至少是TREEIFY_THRESHOLD的4倍
构造方法:
HashMap()
构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
HashMap(int initialCapacity)
构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
构造方法摘要 | |
---|---|
HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。 |
|
HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。 |
|
HashMap(int initialCapacity, float loadFactor) 构造一个带指定初始容量和加载因子的空 HashMap。 |
|
HashMap(Map<? extendsK,? extendsV> m) 构造一个映射关系与指定 Map 相同的 HashMap。 |
HashMap实现原理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。