Предполагается, что класс буфера массива является расширяемым массивом, в который можно эффективно добавлять элементы в конце, используя +=
.Первоначально при создании число элементов равно 0, что называется size
коллекции.
Внутренне буфер массива поддерживает массив элементов, который содержит только null
s, когдабуфер создан.Как только элемент добавлен, запись происходит в массив.Когда массив заполняется, выделяется новый массив двойной длины и в него копируются элементы. амортизированное время добавления элемента остается O (1).
Аргумент ctor просто говорит, какой будет начальная длина внутреннего массива.Хотя изменение начальной длины не меняет амортизированную стоимость +=
, она может избежать ненужных перераспределений, если вы знаете, сколько элементов вы добавите к ней, и, таким образом, она будет более эффективной (по сути, уменьшая константу в амортизированном анализе).
Этот аргумент называется не размером, а емкостью буфера массива.