如何免费下载专业网站咨询界面设计?
摘要:网站咨询界面设计,免费网站系统下载,百度seo搜索,哔哩哔哩视频推广1.ArrayList的成员变量 首先我们先了解一下ArrayList的成员变量。默认初始化大小private static final int DEFAULT_C
网站咨询界面设计,免费网站系统下载,百度seo搜索,哔哩哔哩视频推广1.ArrayList的成员变量
首先我们先了解一下ArrayList的成员变量。
// 默认初始化大小
private static final int DEFAULT_CAPACITY 10;// 空数组#xff08;用于空实例#xff09;
// 比如ListString ls new ArrayList(0);
private static final Object[…1.ArrayList的成员变量
首先我们先了解一下ArrayList的成员变量。
// 默认初始化大小
private static final int DEFAULT_CAPACITY 10;// 空数组用于空实例
// 比如ListString ls new ArrayList(0);
private static final Object[] EMPTY_ELEMENTDATA {};// 主要用来标识该ArrayList使用无参构造方法进行了初始化
// elementData等于DEFAULTCAPACITY_EMPTY_ELEMENTDATA意味着使用无参构造函数进行了初始化
// 使用无参构造函数的默认容量是10但是并不是一开始就进行了初始化而是真正在插入元素的时候才进行了初始化
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA {};// 实际上保存ArrayList数据的数组
transient Object[] elementData; // non-private to simplify nested class access// ArrayList包含的元素个数
private int size;2.ArrayList的构造方法
了解了基本成员变量以后我们再来看一下构造函数
// 有参构造方法由自己进行容量的初始化
public ArrayList(int initialCapacity) {if (initialCapacity 0) {// 初始化值大于0创建initialCapacity大小的数组this.elementData new Object[initialCapacity];} else if (initialCapacity 0) {// 初始化值等于0则创建空数组this.elementData EMPTY_ELEMENTDATA;} else {// 初始化值小于0抛出异常throw new IllegalArgumentException(Illegal Capacity: initialCapacity);}
}// DEFAULTCAPACITY_EMPTY_ELEMENTDATA为0.初始化为10
// 意味着ArrayList的初始其实是空数组当添加第一个元素的时候数组容量才变成10
public ArrayList() {this.elementData DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}// 构造一个包含指定集合的元素的列表按照它们由集合的迭代器返回的顺序。
public ArrayList(Collection? extends E c) {elementData c.toArray();if ((size elementData.length) ! 0) {// 如果elementData不是Object类型数据c.toArray可能返回的不是Object类型的数组所以加上下面的语句用于判断if (elementData.getClass() ! Object[].class)elementData Arrays.copyOf(elementData, size, Object[].class);} else {this.elementData EMPTY_ELEMENTDATA;}
}3.ArrayList的扩容机制
下面正式开始讲解ArrayList的扩容机制。
什么时候开始扩容毫无疑问当然是添加元素而elementData的容量不够的时候进行扩容所以我们从add()方法起手。
