2013-04-29 53 views
0

這只是一個出於好奇的問題。假設我有一個應用程序,其中一些對象是在運行時動態創建的。並且我們還要說,在大多數情況下,物體的數量不會超過特定的閾值,例如, 20.作爲我們說的最後一個前提條件,優化績效是非常重要的。替換數組與單個ArrayList的性能

什麼是性能更好的替代方案?

  1. 首先創建一個數組[20]。添加對象時,請檢查數組是否已經完全被佔用,如果是,則使用newArray [array.length * f]創建一個新數組,其中f是大於1.0f的浮點數。然後替換舊陣列的新的和添加項目

  2. 簡單地使用從一開始就

  3. 一個ArrayList ???

請記住,這完全是關於性能優化。

編輯 我不知道確切的實施在Java中,所以它可能是真實的,那1)和2)十分相似。但在閱讀這個:https://stackoverflow.com/a/10747397/1075211後,我認爲它可能會在C#或其他一些語言中發揮作用?

+0

你在問什麼語言,Java? – Bergi 2013-04-29 17:40:58

+0

這是關於性能優化的錯誤方法。如果你有一個關於讓你的程序運行得更快的方法的假設,**測量它** – 2013-04-29 17:41:02

+0

是不是1)和2)一樣,用ArrayList初始化爲20? – Bergi 2013-04-29 17:42:19

回答

1

你的第一個選擇或多或少等同於像新的ArrayList(20)那樣創建ArrayList。

+0

這適用於java,也適用於其他語言? – keinabel 2013-04-30 11:01:28