
集合
weixin_44020556
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
狂啃HashMap--put()函数
狂啃HashMap–put()函数/** * 一个键对应一个值 * 如果当前map中已经包含一个相同的key,原来的value会被替换 * @param key * @param value * @return 返回当前的key原先关联的value, * 如果当前key先前没有绑定value则返回null */public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}/*原创 2020-05-20 09:48:39 · 221 阅读 · 0 评论 -
狂啃HashMap--resize()函数
狂啃HashMap–resize()函数触发时机当前table未被初始化时当前键值对的个数 > threshold(loadfactor * capacity)阈值时触发扩容JDK8的resize()/** * 初始化或翻倍table的大小,如果table还未被初始化 * 为null时,则分配threshold的值给table的初始化大小 * 否则,由于是根据2的次幂扩容,每个桶中的元素不是在相同 * 的下标,就是在新的哈希表中2的次幂的下标中 * @return the ta原创 2020-05-20 09:05:47 · 191 阅读 · 0 评论 -
狂啃HashMap--基本结构
狂啃HashMap–基本结构类图类变量/** * 默认的初始化容量,必须是2的次幂 */static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16/** * 最大容量,当更大的参数通过有参构造器传入时。 * 2的次幂必须 <= 1 << 30 */static final int MAXIMUM_CAPACITY = 1 << 30;/** * 默认的加载因子,表示当前哈原创 2020-05-20 09:05:03 · 151 阅读 · 0 评论