Я изучаю класс ArrayList как часть школьного проекта.Сложность времени конструктора Java ArrayList
В документах API Java API на сайте Oracle упоминается, что все операции, за исключением заданных, являются «примерно линейным временем».
Конструкторы не перечислены в рамках данного мало, но я с трудом, видя, как это:
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
}
}
является линейное время. Я что-то упустил?
Это выглядит как постоянное время для меня на первый взгляд. – Natecat
Кроме того, конструктор вызывается один раз в течение жизненного цикла заданного 'ArrayList', поэтому конструктор может не считаться частью общего времени работы. –
Объявление массива принимает время O (n). Ответ ниже :) –