Вы задаете не тот вопрос.Вопрос о том, может ли ArrayList
занимать немного больше места, чем обычный старый массив, совершенно не имеет значения.
Вопрос, на который вам действительно нужно ответить, чтобы решить, какой из них использовать, будет ли вам когда-либо нужен динамически изменяет размер массива.
Если массив будет содержать только 26 объектов за все время его жизни, то вам, вероятно, следует придерживаться простого старого массива: myArray[26]
.
Но если есть вероятность, что вам нужно динамически изменить размер массива, изменив количество элементов, которые в нем содержатся, то вам определенно нужно перейти к реализации ArrayList
, независимо от того, может ли онзанять немного больше места.В этом случае гибкость гораздо важнее, намного превосходя любые возможные затраты.
Другой случай, когда вы захотите использовать ArrayList
вместо простого массива, - это когда вам нужен класс, реализующийIList
интерфейс .
Но имейте в виду, что класс ArrayList
, вероятно, не рекомендуется использовать в более поздних версиях .NET Framework.Пространство имен System.Collections.Generic
предоставляет набор универсальных классов коллекций, которые гораздо более производительны и предпочтительнее для ArrayList
.В этом случае вы, вероятно, захотите использовать List<T>
класс , где T
- это класс объектов, которые вы хотите сохранить в указанном массиве.