HashMap源码分析
概览12public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {
从继承关系上看好像并不没有什么特点。它基于哈希表实现了Map接口,并且允许null的值和null的键。HashMap并不能保证有序性。并且它不是同步的。
[]
属性分析1static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;
默认的初始容量为16.初始容量的大小和负载因子是非常影响其性能的两个参数。
1static final int MAXIMUM_CAPACITY = 1 << 30;
最大的允许的容量
1static final float DEFAULT_LOAD_FACTOR = 0.75f;
默认的负载因子(装填因子)。这是一个非常重要的参数。负载因子的定义为:填入表中的元素的个数/哈希表的长度(桶的个数)。所以装填因子越大产生冲突的可能性也越大。简单的来说就是装的越多其装满程度也越大,其装填因子也就越大。