1. 程式人生 > >ArrayList與LinkedList對比

ArrayList與LinkedList對比

ArrayList:
1.ArrayList以陣列方式實現,節約空間,但陣列有容量限制,當超出限制時,他會自動增加50%容量,用System.arraycopy()複製到新的陣列。
2.按陣列下標訪問元素-----get()/set()的效能很高。
3.但如果按下標插入,刪除元素,則要用System.arraycopy()來移動部分受影響的元素,效能會變差。

LinkedList:
1.以雙向連結串列實現,連結串列無容量控制,但雙向連結串列本身使用了更多的空間,也需要額外的連結串列指標操作。
2.按下標訪問元素-----get()/set()要遍歷連結串列將指標移動到位,效能略低。
3.插入,刪除元素時只需修改該元素前後節點的指標即可,但還是要遍歷部分連結串列的指標才能移動到下標所指的位置。