2011-07-22 82 views
-1

我需要在一個數組中存儲26個對象。可能會更少,但不會更多。 arrayList會佔用比26個對象數組更多的空間嗎?ArrayList <MyClass> vs MyClass [26]?

+0

這是一個非常類似的問題http://stackoverflow.com/questions/412813/when-to-use-arraylist-over-array-in-c – inspite

回答

3

你在問錯誤的問題。不管ArrayList是否會比普通的舊陣列佔用更多的空間,這點還是非常重要的。

您真的需要回答以決定使用哪一個的問題是您是否需要動態調整數組的大小

如果數組在整個生命週期中只包含26個對象,那麼您應該使用普通的舊數組:myArray[26]

但是,如果有,你需要動態調整陣列,更改元素的數量,它包含任何機會,那麼你肯定需要去與ArrayList執行,無論它是否會佔用更多一點空間。在這種情況下,靈活性更重要,遠遠超過可能涉及的任何成本。

另一種情況下,如果您需要一個實現IList interface的類,您希望使用ArrayList而不是普通數組。

但請記住,ArrayList類應該在更高版本的.NET Framework中被棄用。 System.Collections.Generic namespace提供了一批通用集合類,它們的性能更高,preferable提供給ArrayList。在這種情況下,您可能需要使用List<T> class,其中T是要存儲在所述數組中的對象的類。

0

它不能少...我想可能需要更多,這取決於他們如何進行重新調整。爲了澄清,如果你存儲的項目少於26個,數組列表可能會更好......如果你存儲26個數組,列表不能更好,可能會更糟。

+0

謝謝。我認爲虐待堅持arraylist。我認爲生病平均可能有15個對象。 – shashu10

相關問題