元素存储方式
ArrayList:采用数组方式
private transient Object[] elementData;
LinedList:采用链表
private transient Entry<E> header = new Entry<E>(null, null, null);
private static class Entry<E> {
E element;
Entry<E> next;
Entry<E> previous;
Entry(E element, Entry<E> next, Entry<E> previous) {
this.element = element;
this.next = next;
this.previous = previous;
}
}
ArrayList内部实现是数组,在每次增删的时候代价都很大,适合查找。
而LinkList内部实现是链表,对LinkList的增删都只需要改变对应的指针就可以了。
|