1. 程式人生 > >Vector、ArrayList與LinkedList的區別?

Vector、ArrayList與LinkedList的區別?

LinkedList基於雙向連結串列實現的

private static class Node<E> {
  E item;
  Node<E> next;
  Node<E> prev;
}

每個連結串列儲存了 first 和 last 指標:

transient Node<E> first;
transient Node<E> last;

ArrayList與LinkedList、Vector的區別:

  • LinkedList基於雙向連結串列實現的,ArrayList基於動態陣列實現,Vector基於動態陣列
  • ArrayList支援隨機訪問
  • ArrayList新增元素是,可能會導致陣列重新分配,LinkedList新增元素開銷是固定的。
  • LinkedList在任意位置新增和刪除操作效率高。
  • Vector與Arraylist類似,Vector是同步訪問的。
  • <