一 ArrayList的设计思路
1 存储:数组存储
2 扩容:每次增长为原来的1.5倍
int newCapacity = oldCapacity + (oldCapacity >> 1);
3 遍历:建议用Iterator接口遍历
二 LinkedList:用双向列表存储,所以优势就是修改,劣势是查找
// 添加元素的时候就是仅仅方法最后
void linkLast(E e) {
final Node<E> l = last;
final Node<E> newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}
三 Vector:Vector是线程安全的,别的都大同小异