天天看點

什麼時候用ArrayList,什麼時候用LinkedList

總的來說:

       當操作是在一列 資料的後面添加資料而不是在前面或中間,并且需要随機地通路其中的元素時,使用ArrayList會提供比較好的性能;

       當你的操作是在一列資料的前面或中 間添加或删除資料,并且按照順序通路其中的元素時,就應該使用LinkedList了。

ArrayList和LinkedList在性能上各 有優缺點,都有各自所适用的地方,總的說來可以描述如下:

1.對ArrayList和LinkedList而言,在清單末尾增加一個元素所花的開銷都是固定的。

對 ArrayList而言,主要是在内部數組中增加一項,指向所添加的元素,偶爾可能會導緻對數組重新進行配置設定;

而對LinkedList而言,這個開銷是 統一的,配置設定一個内部Entry對象。

2.在ArrayList的 中間插入或删除一個元素意味着這個清單中剩餘的元素都會被移動;

而在LinkedList的中間插入或删除一個元素的開銷是固定的。

3.LinkedList不 支援高效的随機元素通路。

4.ArrayList的空 間浪費主要展現在在list清單的結尾預留一定的容量空間,而LinkedList的空間花費則展現在它的每一個元素都需要消耗相當的空間

--摘自百度知道,位址:http://zhidao.baidu.com/link?url=1oQ5TX9pEr1GBj1T70puccc7SyZTTaqIEsUUH_EStyW4DFVn1pfYEnGoRGvyNeUfCxkWH2En85f9wl0LadXFdK