一.arrayList 概述
1.Java API 中的官方描述:
Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list. (This class is roughly equivalent to Vector, except that it is unsynchronized.)
总结几点:实现了list接口,允许插入任何类型的元素。非线程安全。
2.以数组实现,节约空间,但有容量限制,默认初始化大小为10,当超出后,会自动扩容为原来的1/2(50%)的容量,即自动扩容机制。
源码如下:
private void grow(int minCapacity) {
// overflow-conscious code
int oldCapacity = elementData.length;
int n