Java集合
LongWarren
共同进步
展开
-
HashMap源码分析(容量与初始化)
一、成员属性 1、transient HashMapInit.Node<K,V>[] table; 最大integer.max,桶数组 实际上threshold的值就是table下次扩容的值 HashMap.TreeNode的父类继承了HashMap.Node 默认为容量为16,下一次扩容容量=threshold=table.size*loadFactor node成员变量...原创 2020-04-10 20:34:57 · 275 阅读 · 0 评论 -
ArrayList源码分析(容量与初始化)
当ArrayList 使用无参构造时,默认大小为10 ,也就是说在第一次add 的时候,分配为10 的容量,后续的每次扩容都会调用Array. copyOf 方法,创建新数组再复制。可以想象, 假如需要将1000个元素放置在ArrayList 中,采用默认构造方法,则需要被动扩容13 次才可以完成存储。反之,如果在初始化时便指定了容量new ArrayList(l 000), 那么在初始化Arra...原创 2020-04-10 20:32:08 · 225 阅读 · 0 评论