Создает новый массив double , кратный размеру, и копирует элементы поверх. (Я не уверен, указан ли фактический множитель в соответствии со стандартом Java.)
Теперь естественный вопрос: почему? Почему бы просто не добавить, скажем, пять элементов каждый раз?
Это делается быстрее: вы добавляете n элементов бесплатно, а для элемента n + 1 вы должны скопировать предыдущие элементы n в массив размером 2n . Таким образом, стоимость копирования этих n элементов распределяется («амортизируется») по самим себе (поскольку вы ранее добавляли их бесплатно), и в среднем стоимость добавления каждого элемента составляла n / n , или около 1 операции на элемент.
(См. эту ссылку для дальнейшего обсуждения этой темы.)