ArrayList,LinkedList是不一樣步的,而Vector是同步的,Vector適合線程使用,數組
ArrayList和Vector都是使用Objec的數組形式來存儲的,當元素數目超出其長度時,Vector缺省狀況下自動增加原來一倍的數組長度,ArrayList是原來的50%,數據結構
ArrayList和LinkedList的大體區別:
1.ArrayList是實現了基於動態數組的數據結構,LinkedList基於鏈表的數據結構。
2.對於隨機訪問get和set,ArrayList以爲優於LinkedList,由於LinkedList要移動指針。
3.對於新增和刪除操做add和remove,LinedList比較佔優點,由於ArrayList要移動數據。性能
ArrayList,在末尾增長或刪除一條數據,所花的開銷都是固定的,若在中間插入或刪除一個元素意味着這個列表中剩餘的元素都會被移動,花費大,線程
LinkedList 是經過指針移動,因此在先後,中間插入刪除都是同樣的。但LinkedList不 支持高效的隨機元素訪問。指針
能夠這樣說:當操做是在一列 數據的後面添加數據而不是在前面或中間,而且須要隨機地訪問其中的元素時,使用ArrayList會提供比較好的性能;當你的操做是在一列數據的前面或中 間添加或刪除數據,而且按照順序訪問其中的元素時,就應該使用LinkedList了。
因此,若是隻是查找特定位置的元素或只在集合的末端增長、移除元素,那麼使用Vector或ArrayList均可以。若是是對其它指定位置的插入、刪除操做,最好選擇LinkedList rem