我需要存儲大量的信息,比如說'名稱'在java List中。項目的數量可以改變(或者簡而言之,我不能預先確定尺寸)。我認爲,從內存分配的角度來看,LinkedList將是一個比ArrayList更好的選擇,對於ArrayList,一旦達到最大大小,內存分配會自動增加一倍,因此總會有分配更多內存的機會需要什麼。ArrayList vs LinkedList從內存分配的角度來看
我從這裏的其他帖子瞭解到,存儲在LinkedList中的單個元素比ArrayList需要更多空間,因爲LinkedList也需要存儲節點信息,但我仍然猜測我定義的LinkedList可能是更好的選擇。另外,我不想進入性能方面(取回,刪除等),這已經討論過了。
這似乎你已經有你的答案。鏈接列表會更好,因爲當達到最大值時它的大小不會加倍。可以說你有251個名字,然後當你達到250時,數組翻倍增加到500。然後,你在內存中分配了249個額外的空白點。基本上我想說的就是長期來說,Link-List> ArrayList就像內存一樣。 – 2012-07-19 15:43:53
@Eric Robinson:以下來自其他用戶的評論證明我的理解不正確。您也可以注意這一點。謝謝.. – 2012-07-19 21:45:57
看到這個答案的內存足跡視覺的兩個:http://stackoverflow.com/questions/322715/when-to-use-linkedlist-over-arraylist/7671021#7671021 – Numeron 2013-01-23 03:39:12