6

當然,我知道arraylist和鏈表之間的性能差異。我已經自己運行測試,並且看到了在列表和列表之間插入/刪除和迭代之間在時間和內存方面的巨大差異。「這兩個」arraylist和鏈表的好處...可能在java中?

(糾正我,如果我錯了)我們一般喜歡的ArrayList在LinkedList的原因是:

1)我們實際上做迭代往往比插入/缺失。所以我們更喜歡迭代比插入/刪除更快。

2)鏈表的存儲器開銷比數組列表

3)沒有辦法中,我們可以定義一個列表作爲鏈表同時插入/批量刪除,並作爲數組列表而迭代更多。這是因爲ArrayList和鏈表具有根本不同的數據存儲技術。

我錯了關於第三點[我希望如此:)]這兩種數據結構在單個列表中有沒有可能帶來好處?我想,數據結構設計師必須考慮它。

+4

可能的重複:http://stackoverflow.com/questions/1712952/is-there-a-known-implementation-of-an-indexed-linked-list – Aubin

+0

你自己說過,如果有一個非妥協的解決方案有所有這些好處,沒有人會知道'ArrayList'和'LinkedList'。 –

+0

@Aubin感謝您的鏈接。 +1 :) 但它是一個2009年的問題。過去3年數據結構領域有何改進?特別是在Java 7發佈之後? –

回答

1

如果你正在尋找一些更好的性能集合實現,退房Javolution。該軟件包提供了一個FastListFastTable,它們至少可以降低在鏈接列表和數組列表之間進行選擇的成本。

相關問題