Что такое Capacity у списка

«Что такое Capacity у списка» — вопрос из категории Планирование проекта, который задают на 23% собеседований Менеджер Проектов. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Capacity списка — это объем памяти, выделенный под элементы списка, который может быть больше его текущего размера (Count). Это позволяет эффективно добавлять элементы без перевыделения памяти при каждом добавлении.

Пример на C#:

List<int> numbers = new List<int>(10); // Capacity = 10, Count = 0
numbers.Add(1); // Count = 1, Capacity остаётся 10
// При превышении Capacity список увеличивает его (обычно в 2 раза)
while (numbers.Count < 20) numbers.Add(1); // Capacity станет 20

Важно:

  • Избыточный Capacity может привести к неэффективному использованию памяти.
  • Можно вручную задать Capacity или вызвать TrimExcess() для его оптимизации.